[breitner15haskell] | Joachim Breitner, Formally Proving a Compiler Transformation Safe, Haskell, 2015.
|
Abstract
We prove that the Call Arity analysis and transformation, as
implemented in the Haskell compiler GHC, is safe, i.e. does not
impede the performance of the program. We formalized syntax,
semantics, the analysis and the transformation in the interactive
theorem prover Isabelle to obtain a machine-checked proof and hence
a level of rigor rarely obtained for compiler optimization safety
theorems. The proof is modular and introduces trace trees as a
suitable abstraction in abstract cardinality analyses. We discuss
the breadth of the formalization gap.
Download
BibTeX
Authors at the institute