×

cminor

swMATH ID: 9739
Software Authors: Appel, A.W., Blazy, S.
Description: Separation Logic for Small-Step cminor. cminor is a mid-level imperative programming language; there are proved-correct optimizing compilers from C to cminor and from cminor to machine language. We have redesigned cminor so that it is suitable for Hoare Logic reasoning and we have designed a Separation Logic for cminor. In this paper, we give a small-step semantics (instead of the big-step of the proved-correct compiler) that is motivated by the need to support future concurrent extensions. We detail a machine-checked proof of soundness of our Separation Logic. This is the first large-scale machine-checked proof of a Separation Logic w.r.t. a small-step semantics. The work presented in this paper has been carried out in the Coq proof assistant. It is a first step towards an environment in which concurrent cminor programs can be verified using Separation Logic and also compiled by a proved-correct compiler with formal end-to-end correctness guarantees.
Homepage: http://link.springer.com/chapter/10.1007/978-3-540-74591-4_3
Related Software: Coq; CompCert; Isabelle/HOL; CIL; Boogie; Dafny; veriSoft; Smallfoot; OCaml; MLCompCert; GCminor; GHC; Haskell; PoplMark; CompCertTSO; Isabelle; VeriFast; VLISP; TALx86; Piton
Cited in: 17 Publications

Standard Articles

1 Publication describing the Software, including 1 Publication in zbMATH Year
Separation logic for small-step Cminor. Zbl 1144.68351
Appel, Andrew W.; Blazy, Sandrine
2007

Citations by Year