We present a new architecture for specifying and proving optimizing compilers in the presence of shared-memory interactions such as buffer-based system calls, shared-memory concurrency, and separate compilation. The architecture, which is implemented in the context of CompCert, includes a novel interaction-oriented model for C-like languages, and a new proof technique, called logical simulation relations, for compositionally proving compiler correctness with respect to this interaction model. We apply our techniques to CompCert's primary memory-reorganizing compilation phase, Cminorgen. Our results are formalized in Coq, building on the recently released CompCert 2.0. © 2014 Springer-Verlag.
Mendeley helps you to discover research relevant for your work.
CITATION STYLE
Beringer, L., Stewart, G., Dockins, R., & Appel, A. W. (2014). Verified compilation for shared-memory C. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8410 LNCS, pp. 107–127). Springer Verlag. https://doi.org/10.1007/978-3-642-54833-8_7