Formal Verification of a C Compiler Front-End

  • Sandrine Blazy
  • Zaynah Dargaye
  • Xavier Leroy
Conference paper

DOI: 10.1007/11813040_31

Part of the Lecture Notes in Computer Science book series (LNCS, volume 4085)
Cite this paper as:
Blazy S., Dargaye Z., Leroy X. (2006) Formal Verification of a C Compiler Front-End. In: Misra J., Nipkow T., Sekerinski E. (eds) FM 2006: Formal Methods. FM 2006. Lecture Notes in Computer Science, vol 4085. Springer, Berlin, Heidelberg

Abstract

This paper presents the formal verification of a compiler front-end that translates a subset of the C language into the Cminor intermediate language. The semantics of the source and target languages as well as the translation between them have been written in the specification language of the Coq proof assistant. The proof of observational semantic equivalence between the source and generated code has been machine-checked using Coq. An executable compiler was obtained by automatic extraction of executable Caml code from the Coq specification of the translator, combined with a certified compiler back-end generating PowerPC assembly code from Cminor, described in previous work.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Sandrine Blazy
    • 1
  • Zaynah Dargaye
    • 1
  • Xavier Leroy
    • 1
  1. 1.INRIA RocquencourtLe ChesnayFrance

Personalised recommendations