Mechanized verification of computing dominators for formalizing compilers

  • Authors:
  • Jianzhou Zhao;Steve Zdancewic

  • Affiliations:
  • University of Pennsylvania;University of Pennsylvania

  • Venue:
  • CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

One prerequisite to the formal verification of modern compilers is to formalize computing dominators, which enable SSA forms, advanced optimizations, and analysis. This paper provides an abstract specification of dominance analysis that is sufficient for formalizing modern compilers; it describes a certified implementation and instance of the specification that is simple to design and reason about, and also reasonably efficient. The paper also presents applications of dominance analysis: an SSA-form type checker, verifying SSA-based optimizations, and constructing dominator trees. This development is a part of the Vellvm project. All proofs and implementation have been carried out in Coq.