Formalizing and Verifying Semantic Type Soundness of a Simple Compiler
- Nick Benton ,
- Uri Zarfaty
MSR-TR-2007-31 |
We describe a semantic type soundness result, formalized in the Coq proof assistant, for a compiler from a simple imperative language with heap-allocated data into an idealized assembly language. Types in the high-level language are interpreted as binary relations, built using both second-order quantification and a form of separation structure, over stores and code pointers in the low-level machine.