Formal Verification of an SSA-Based Middle-End for CompCert
Formal Verification of an SSA-Based Middle-End for CompCert
复制标题
DOI:
10.1145/2579080
复制
发表时间:
2014-03-01
影响因子:
1.3
通讯作者:
Pichardie, David
中科院分区:
文献类型:
--
作者:
Barthe, Gilles;Demange, Delphine;Pichardie, David
CompCert is a formally verified compiler that generates compact and efficient code for a large subset of the C language. However, CompCert foregoes using SSA, an intermediate representation employed by many compilers that enables writing simpler, faster optimizers. In fact, it has remained an open problem to verify formally an SSA-based compiler. We report on a formally verified, SSA-based middle-end for CompCert. In addition to providing a formally verified SSA-based middle-end, we address two problems raised by Leroy in [2009]: giving an intuitive formal semantics to SSA, and leveraging its global properties to reason locally about program optimizations.