Abstract

Validation of Interprocedural Optimizations

Amir Pnueli and Anna Zaks

New York University, NY, USA

Translation validation is an approach of ensuring compilation correctness in which each compiler run is followed by a validation pass that proves that the target code produced by the compiler is a correct translation of the source code. We present a framework for translation validation of compiler optimization run that targets reactive procedural programs. Our algorithm is automatic and accommodates most classical interprocedural optimizations such as global constant propagation, inlining, tail-recursion elimination, interprocedural dead code elimination, dead argument elimination, and cloning.

Keywords: compiler, verification, translation validation, interprocedural optimizations, program equivalence, deductive verification, formal methods.