CompCertS: A Memory-Aware Verified C Compiler using Pointer as Integer Semantics - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2017

CompCertS: A Memory-Aware Verified C Compiler using Pointer as Integer Semantics

Abstract

The CompCert C compiler provides the formal guarantee that the observable behaviour of the compiled code improves on the observable behaviour of the source code. In this paper, we present a formally verified C compiler, CompCertS, which is essentially the CompCert compiler, albeit with a stronger formal guarantee: it gives a semantics to more programs and ensures that the memory consumption is preserved by the compiler. CompCertS is based on an enhanced memory model where, unlike CompCert but like Gcc, the binary representation of pointers can be manipulated much like integers and where, unlike CompCert, allocation may fail if no memory is available. The whole proof of CompCertS is a significant proof-effort and we highlight the crux of the novel proofs of 12 passes of the back-end and a challenging proof of an essential optimising pass of the front-end.
Fichier principal
Vignette du fichier
compcerts.pdf (366.69 Ko) Télécharger le fichier
Origin Files produced by the author(s)
Loading...

Dates and versions

hal-01656875 , version 1 (06-12-2017)

Identifiers

Cite

Frédéric Besson, Sandrine Blazy, Pierre Wilke. CompCertS: A Memory-Aware Verified C Compiler using Pointer as Integer Semantics. ITP 2017 - 8th International Conference on Interactive Theorem Proving, Sep 2017, Brasilia, Brazil. pp.81-97, ⟨10.1007/978-3-319-66107-0_6⟩. ⟨hal-01656875⟩
654 View
304 Download

Altmetric

Share

Gmail Mastodon Facebook X LinkedIn More