Journal of Automated Reasoning

, Volume 41, Issue 1, pp 1-31

First online:

Formal Verification of a C-like Memory Model and Its Uses for Verifying Program Transformations

  • Xavier LeroyAffiliated withINRIA Paris-Rocquencourt Email author 
  • , Sandrine BlazyAffiliated withENSIIE

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


This article presents the formal verification, using the Coq proof assistant, of a memory model for low-level imperative languages such as C and compiler intermediate languages. Beyond giving semantics to pointer-based programs, this model supports reasoning over transformations of such programs. We show how the properties of the memory model are used to prove semantic preservation for three passes of the Compcert verified compiler.


Memory model C Program verification Compilation Compiler correctness The Coq proof assistant