Abstract
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 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.
Supplemental Material
Available for Download
Supplemental material for: Typed closure conversion preserves observational equivalence
- M. Abadi. Protection in programming-language translations. In ICALP '98, pages 868--883, London, UK, 1998. Google Scholar
Digital Library
- S. Abramsky, R. Jagadeesan, and P. Malacaria. Full abstraction for PCF. Inf. Comput., 163(2):409--470, 2000. Google Scholar
Digital Library
- A. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. Technical Report TR-01-06, Harvard University, Mar. 2006. ttic.uchicago.edu/~amal.Google Scholar
Digital Library
- A. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In ESOP '06, Mar. 2006. Google Scholar
Digital Library
- A. Ahmed and M. Blume. Typed closure conversion preserves observational equivalence. Technical Report TR-2008-07, Department of Computer Science, University of Chicago, July 2008.Google Scholar
Digital Library
- K. Arnold, J. Gosling, and D. Holmes. Java(TM) Programming Language, The (4th Edition). Addison-Wesley, 2005. Google Scholar
Digital Library
- M. Blume and D. McAllester. Sound and complete models of contracts. J. Funct. Prog., 16(4-5):375--414, 2006. Google Scholar
Digital Library
- R. Cartwright and M. Felleisen. Observable sequentiality and full abstraction. In POPL '92, pages 328--342, 1992. Google Scholar
Digital Library
- ECMA. ECMA-335: Common Language Infrastructure (CLI). ECMA (European Association for Standardizing Information and Communication Systems), Geneva, Switzerland, third edition, June 2005.Google Scholar
- M. Felleisen and R. Hieb. A revised report on the syntactic theories of sequential control and state. Theor. Comput. Sci., 103(2):235--271, 1992. Google Scholar
Digital Library
- R. B. Findler and M. Felleisen. Contracts for higher-order functions. In ICFP '02, pages 48--59. ACM Press, 2002. Google Scholar
Digital Library
- N. Glew. Object closure conversion. In Higher-Order Operational Techniques in Semantics (HOOTS '99), Sept. 1999.Google Scholar
Cross Ref
- A. Jeffrey. A fully abstract semantics for a concurrent functional language with monadic types. In LICS '95, 1995. Google Scholar
Digital Library
- A. Kennedy. Securing the .NET programming model. Theor. Comput. Sci., 364(3):311--317, 2006. Google Scholar
Digital Library
- X. Leroy. Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In POPL'06, Jan. 2006. Google Scholar
Digital Library
- X. Leroy. Unboxed objects and polymorphic typing. In POPL '92, pages 177--188. ACM Press, Jan. 1992. Google Scholar
Digital Library
- I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. J. Funct. Prog., 1(3):287--327, 1991.Google Scholar
Cross Ref
- J. Matthews and R. B. Findler. Operational semantics for multi-language programs. In POPL '07, Jan. 2007. Google Scholar
Digital Library
- A. R. Meyer and K. Sieber. Towards fully abstract semantics for local variables. In POPL '88, pages 191--203, 1988. Google Scholar
Digital Library
- Y. Minamide, G. Morrisett, and R. Harper. Typed closure conversion. In POPL '96, pages 271--283, Jan. 1996. Google Scholar
Digital Library
- G. Morrisett, D.Walker, K. Crary, and N. Glew. From System F to Typed Assembly Language. In POPL '98, pages 85--97, Jan. 1998. Google Scholar
Digital Library
- K. Mulmuley. Full abstraction and semantic equivalence. MIT Press, 1987. Google Scholar
Digital Library
- A. Nanevski, A. Ahmed, G. Morrisett, and L. Birkedal. Abstract predicates and mutable ADTs in Hoare Type Theory. In ESOP '07, pages 189--204, 2007. Google Scholar
Digital Library
- A. M. Pitts. Existential types: Logical relations and operational equivalence. In ICALP '98, pages 309--326, 1998. Google Scholar
Digital Library
- G. D. Plotkin. Lambda-definability and logical relations. Memorandum SAI-RM-4, Univ. of Edinburgh, Oct. 1973.Google Scholar
- J. C. Reynolds. Types, abstraction, and parametric polymorphism. Information Processing, pages 513--523, 1983.Google Scholar
- J. G. Riecke. Fully abstract translations between functional languages. In POPL '91, pages 245--254, 1991. Google Scholar
Digital Library
- Z. Shao. Flexible representation analysis. In ICFP '97, pages 85--98. ACM Press, 1997. Google Scholar
Digital Library
- W. W. Tait. Intensional interpretations of functionals of finite type I. J. of Symbolic Logic, 32(2):198--212, June 1967.Google Scholar
Cross Ref
Index Terms
Typed closure conversion preserves observational equivalence
Recommendations
Typed closure conversion preserves observational equivalence
ICFP '08: Proceedings of the 13th ACM SIGPLAN international conference on Functional programmingLanguage-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 ...
An equivalence-preserving CPS translation via multi-language semantics
ICFP '11Language-based security relies on the assumption that all potential attacks follow 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 ...
An equivalence-preserving CPS translation via multi-language semantics
ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programmingLanguage-based security relies on the assumption that all potential attacks follow 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 ...







Comments