Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming 2010
DOI: 10.1145/1863543.1863584
|View full text |Cite
|
Sign up to set email alerts
|

A certified framework for compiling and executing garbage-collected languages

Abstract: We describe the design, implementation, and use of a machinecertified framework for correct compilation and execution of programs in garbage-collected languages. Our framework extends Leroy's Coq-certified Compcert compiler and Cminor intermediate language. We add: (i) a new intermediate language, GCminor, that includes primitives for allocating memory in a garbage-collected heap and for specifying GC roots; (ii) a precise, low-level specification for a Cminor library for garbage collection; and (iii) a proven… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2011
2011
2021
2021

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 30 publications
(10 citation statements)
references
References 23 publications
0
10
0
Order By: Relevance
“…Garbage Collection GCMinor (McCreight et al 2010) is an intermediate language with GC primitives, that can be compiled down to CMinor with calls to a verified GC. They do not run into the same problem as we do because register allocation occurs in CompCert after CMinor.…”
Section: Detailed Comparison With Previous Compilermentioning
confidence: 99%
“…Garbage Collection GCMinor (McCreight et al 2010) is an intermediate language with GC primitives, that can be compiled down to CMinor with calls to a verified GC. They do not run into the same problem as we do because register allocation occurs in CompCert after CMinor.…”
Section: Detailed Comparison With Previous Compilermentioning
confidence: 99%
“…Any higher-level intermediate stage would introduce source-language dependence. Cminor is used in other work as a natural target in the CompCert stack for compiling various source languages [31].…”
Section: Cminor Compcert and Infrastructurementioning
confidence: 99%
“…They prove in Coq that various collectors implement this interface, and that various mutator programs respect it. In more recent work, McCreight et al [19] extend Leroy's Compcert compiler [18] with support for garbage collection, by building the mutator-collector interface into the design of a new intermediate language, GCminor. They prove semantics preservation (mostly) for a compiler from a purely functional, typed language-Dminor-to GCminor, but (as in Compcert) not compositional correctness.…”
Section: Kripke Logical Relationsmentioning
confidence: 99%
“…Of particular note is Leroy's Compcert project [18], in which he used the Coq proof assistant to both program and verify a multi-pass optimizing compiler from Cminor (a C-like intermediate language) to PowerPC assembly. Dargaye [13] has adapted the Compcert framework to a compiler for a pure mini-ML language, and McCreight et al [19] have extended it to support interfacing with a garbage collector. Independently, Chlipala [10,12] has developed verified compilers for both pure and impure functional core languages, the former garbage-collected, with a focus on using custom Coq tactics to provide significant automation of verification.…”
Section: Introductionmentioning
confidence: 99%