Towards the Formal Verification of a C0 Compiler: Code Generation and Implementation Correctnes
Towards the Formal Verification of a C0 Compiler: Code Generation and Implementation Correctnes
复制标题
迈向 C0 编译器的形式验证:代码生成和实现正确性
DOI:
10.1109/sefm.2005.51
复制
发表时间:
2005
影响因子:
2.8
通讯作者:
Elena Petrova
中科院分区:
文献类型:
--
作者:
Dirk Leinenbach;W. Paul;Elena Petrova
In the spirit of the famous CLI stack project the Verisoft project 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). This paper reports on (i) an operational small steps semantics for C0 which is formalized in Isabelle/HOL, (ii) the formal specification of a compiler from C0 to the DLX machine language 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.