Formal Verification of an SSA-based Middle-end for CompCert

Gilles Barthe 1 Delphine Demange 2 David Pichardie 2
2 CELTIQUE - Software certification with semantic analysis
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : CompCert is a formally verified compiler that generates compact and efficient code for a large subset of the C language. However, CompCert foregoes using SSA, an intermediate representation employed by many compilers that enables writing simpler, faster optimizers. In fact, it has remained an open problem to verify formally an SSA-based compiler. We report on a formally verified, SSA-based middle-end for CompCert. In addition to providing a formally verified SSA-based middle-end, we address two problems raised by Leroy in [2009]: giving an intuitive formal semantics to SSA, and leveraging its global properties to reason locally about program optimizations.
Document type :
Journal articles
Complete list of metadatas
Contributor : Delphine Demange <>
Submitted on : Saturday, December 20, 2014 - 9:48:03 PM
Last modification on : Thursday, November 15, 2018 - 11:57:43 AM

Links full text



Gilles Barthe, Delphine Demange, David Pichardie. Formal Verification of an SSA-based Middle-end for CompCert. ACM Transactions on Programming Languages and Systems (TOPLAS), ACM, 2014, 36 (1), pp.35. ⟨10.1145/2579080⟩. ⟨hal-01097677⟩



Record views