Typed Closure Conversion Preserves Observational Equivalence

Amal Ahmed; Matthias Blume. 8 July, 2008.
Communicated by Robby Findler.


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 lambda-calculus with existential 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 typed closure conversion has been assumed to be fully abstract, we are not aware of any previous result that actually proves this.

Original Document

The original document is available in PDF (uploaded 8 July, 2008 by Robby Findler).