ACM Home Page
Please provide us with feedback. Feedback
Formal verification of a realistic compiler
Full text Digital EditionDigital Edition HtmlHtml (9 KB),  PdfPdf (694 KB)
Source
Communications of the ACM archive
Volume 52 ,  Issue 7  (July 2009) table of contents
Barbara Liskov: ACM's A.M. Turing Award Winner
SECTION: Research highlights table of contents
Pages 107-115  
Year of Publication: 2009
ISSN:0001-0782
Author
Xavier Leroy  INRIA Paris-Rocquencourt, France
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 71,   Downloads (12 Months): 410,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1538788.1538814
What is a DOI?

ABSTRACT

This paper reports on the development and formal verification (proof of semantic preservation) of CompCert, a compiler from Clight (a large subset of the C programming language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness. Such a verified compiler is useful in the context of critical software and its formal verification: the verification of the compiler guarantees that the safety properties proved on the source code hold for the executable compiled code as well.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Appel, A.W., Blazy, S. Separation logic for small-step Cminor. In Theorem Proving in Higher Order Logics, TPHOLs 2007, volume 4732 of LNCS (2007), Springer, 5--21.
 
3
 
4
Blazy, S., Dargaye, Z., Leroy, X. Formal verification of a C compiler front-end. In FM 2006: International Symposium on Formal Methods, volume 4085 of LNCS (2006), Springer, 460--475.
 
5
Blazy, S., Leroy, X. Mechanized semantics for the Clight subset of the C language. J. Autom. Reasoning (2009). Accepted for publication, to appear.
6
 
7
Coq development team. The Coq proof assistant. Available at http://coq.inria.fr/, 1989--2009.
8
9
 
10
Hales, T.C. Formal proof. Notices AMS 55, 11 (2008), 1370--1380.
11
 
12
Leroy, X. The CompCert verified compiler, software and commented proof. Available at http://compcert.inria.fr/, Aug.2008.
 
13
Leroy, X. A formally verified compiler back-end. arXiv:0902.2137 {cs}. Submitted, July 2008.
 
14
 
15
 
16
McCarthy, J., Painter, J. Correctness of a compiler for arithmetical expressions. In Mathematical Aspects of Computer Science, volume 19 of Proceedings of Symposia in Applied Mathematics (1967), AMS, 33--41.
 
17
Milner, R., Weyhrauch, R. Proving compiler correctness in a mechanized logic. In Proceedings of 7th Annual Machine Intelligence Workshop, volume 7 of Machine Intelligence (1972), Edinburgh University Press, 51--72.
18
19
20
 
21
 
22
23
24