Optimizing Code Generation from SSA Form: A Comparison Between Two Formal Correctness Proofs in Isabelle/HOL

  • Authors:
  • Jan Olaf Blech;Sabine Glesner;Johannes Leitner;Steffen Mülling

  • Affiliations:
  • Institute for Program Structures and Data Organization, University of Karlsruhe, 76128 Karlsruhe, Germany;Institute for Program Structures and Data Organization, University of Karlsruhe, 76128 Karlsruhe, Germany;Institute for Program Structures and Data Organization, University of Karlsruhe, 76128 Karlsruhe, Germany;Institute for Program Structures and Data Organization, University of Karlsruhe, 76128 Karlsruhe, Germany

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Correctness of compilers is a vital precondition for the correctness of the software translated by them. In this paper, we present two approaches for the formalization of static single assignment (SSA) form together with two corresponding formal proofs in the Isabelle/HOL system, each showing the correctness of code generation. Our comparison between the two proofs shows that it is very important to find adequate formalizations in formal proofs since they can simplify the verification task considerably. Our formal correctness proofs do not only verify the correctness of a certain class of code generation algorithms but also give us sufficient, easily checkable correctness criteria characterizing correct compilation results obtained from implementations (compilers) of these algorithms. These correctness criteria can be used in a compiler result checker.