Verified Compilation for Shared-Memory C

Lennart Beringer,Gordon Stewart,Robert Dockins,Andrew W. Appel
DOI: https://doi.org/10.1007/978-3-642-54833-8_7
2014-01-01
Abstract: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.
What problem does this paper attempt to address?