Validated compilation through logic

  • Authors:
  • Guodong Li

  • Affiliations:
  • Fujitsu Labs of America, CA

  • Venue:
  • FM'11 Proceedings of the 17th international conference on Formal methods
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

To reason about programs written in a language, one needs to define its formal semantics, derive a reasoning mechanism (e.g. a program logic), and maximize the proof automation. Unfortunately, a compiler may involve multiple languages and phases; it is tedious and error prone to do so for each language and each phase. We present an approach based on the use of higher order logic to ease this burden. All the Intermediate Representations (IRs) are special forms of the logic of a prover such that IR programs can be reasoned about directly in the logic. We use this technique to construct and validate an optimizing compiler. New techniques are used to compile-with-proof all the programs into the logic, e.g. a logic specification is derived automatically from the monad interpretation of a piece of assembly code.