Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05)
Towards the Formal Verification of a C0 Compiler: Code Generation and Implementation Correctnes
Koblenz, Germany
September 07-September 09
ISBN: 0-7695-2435-4
In the spirit of the famous CLI stack project [2] the Verisoft project [31] aims at the pervasive verification of entire computer systems including hardware, system software, compiler, and communicating applications, with a special focus on industrial applications. The main programming language used in the Verisoft project is C0 (a subset of C which is similar to MISRA C [20]). This paper reports on (i) an operational small steps semantics for C0 which is formalized in Isabelle/HOL [25], (ii) the formal specification of a compiler from C0 to the DLX machine language [14, 23] in Isabelle/HOL, (iii) a paper and pencil correctness proof for this compiler and the status of the formal verification effort for this proof, and (iv) the implementation of the compiler in C0 and a formal proof in Isabelle/HOL that the implementation produces the same code as the specification.
Citation:
Dirk Leinenbach, Wolfgang Paul, Elena Petrova, "Towards the Formal Verification of a C0 Compiler: Code Generation and Implementation Correctnes," sefm, pp.2-12, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05), 2005