A PVS Based Framework for Validating Compiler Optimizations

  • Authors:
  • Aditya Kanade;Amitabha Sanyal;Uday Khedker

  • Affiliations:
  • IIT Bombay. India;IIT Bombay. India;IIT Bombay. India

  • Venue:
  • SEFM '06 Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

An optimization can be specified as sequential compositions of predefined transformation primitives. For each primitive, we can define soundness conditions which guarantee that the transformation is semantics preserving. An optimization of a program preserves semantics, if all applications of the primitives in the optimization satisfy their respective soundness conditions on the versions of the input program on which they are applied. This scheme does not directly check semantic equivalence of the input and the optimized programs and is therefore amenable to automation. Automating this scheme however requires a trusted framework for simulating transformation primitives and checking their soundness conditions. In this paper, we present the design of such a framework based on PVS. We have used it for specifying and validating several optimizations viz. common subexpression elimination, optimal code placement, lazy code motion, loop invariant code motion, full and partial dead code elimination, etc.