Typed closure conversion preserves observational equivalence

Amal Ahmed, Matthias Blume
2008 Proceeding of the 13th ACM SIGPLAN international conference on Functional programming - ICFP '08  
Language-based security relies on the assumption that all potential attacks are bound by the rules of the language in question. When programs are compiled into a different language, this is true only if the translation process preserves observational equivalence. We investigate the problem of fully abstract compilation, i.e., compilation that both preserves and reflects observational equivalence. In particular, we prove that typed closure conversion for the polymorphic λ-calculus with
more » ... l and recursive types is fully abstract. Our proof uses operational techniques in the form of a step-indexed logical relation and construction of certain wrapper terms that "back-translate" from target values to source values. Although the fact that typed closure conversion is fully abstract had not been in doubt, we are not aware of any previous result that actually proves this.
doi:10.1145/1411204.1411227 dblp:conf/icfp/AhmedB08 fatcat:6llfzaa55bbj7ol2dmtsixvcma