TY - GEN
T1 - A framework for formal verification of compiler optimizations
AU - Mansky, William
AU - Gunter, Elsa
PY - 2010
Y1 - 2010
N2 - In this article, we describe a framework for formally verifying the correctness of compiler optimizations. We begin by giving formal semantics to a variation of the TRANS language [6], which is designed to express optimizations as transformations on control-flow graphs using temporal logic side conditions. We then formalize the idea of correctness of a TRANS optimization, and prove general lemmas about correctness that can form the basis of a proof of correctness for a particular optimization. We present an implementation of the framework in Isabelle, and as a proof of concept, demonstrate a proof of correctness of an algorithm for converting programs into static single assignment form.
AB - In this article, we describe a framework for formally verifying the correctness of compiler optimizations. We begin by giving formal semantics to a variation of the TRANS language [6], which is designed to express optimizations as transformations on control-flow graphs using temporal logic side conditions. We then formalize the idea of correctness of a TRANS optimization, and prove general lemmas about correctness that can form the basis of a proof of correctness for a particular optimization. We present an implementation of the framework in Isabelle, and as a proof of concept, demonstrate a proof of correctness of an algorithm for converting programs into static single assignment form.
KW - optimizing compilers
KW - program transformations
KW - temporal logic
KW - theorem proving
UR - http://www.scopus.com/inward/record.url?scp=77955241845&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77955241845&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-14052-5_26
DO - 10.1007/978-3-642-14052-5_26
M3 - Conference contribution
AN - SCOPUS:77955241845
SN - 3642140513
SN - 9783642140518
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 371
EP - 386
BT - Interactive Theorem Proving - First International Conference, ITP 2010, Proceedings
T2 - 1st International Conference on Interactive Theorem Proving, ITP 2010
Y2 - 11 July 2010 through 14 July 2010
ER -