skip to main content
research-article

Typed closure conversion preserves observational equivalence

Authors Info & Claims
Published:20 September 2008Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

Video

References

  1. M. Abadi. Protection in programming-language translations. In ICALP '98, pages 868--883, London, UK, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Abramsky, R. Jagadeesan, and P. Malacaria. Full abstraction for PCF. Inf. Comput., 163(2):409--470, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In ESOP '06, Mar. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. Arnold, J. Gosling, and D. Holmes. Java(TM) Programming Language, The (4th Edition). Addison-Wesley, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Blume and D. McAllester. Sound and complete models of contracts. J. Funct. Prog., 16(4-5):375--414, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Cartwright and M. Felleisen. Observable sequentiality and full abstraction. In POPL '92, pages 328--342, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. ECMA. ECMA-335: Common Language Infrastructure (CLI). ECMA (European Association for Standardizing Information and Communication Systems), Geneva, Switzerland, third edition, June 2005.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. B. Findler and M. Felleisen. Contracts for higher-order functions. In ICFP '02, pages 48--59. ACM Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Glew. Object closure conversion. In Higher-Order Operational Techniques in Semantics (HOOTS '99), Sept. 1999.Google ScholarGoogle ScholarCross RefCross Ref
  13. A. Jeffrey. A fully abstract semantics for a concurrent functional language with monadic types. In LICS '95, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Kennedy. Securing the .NET programming model. Theor. Comput. Sci., 364(3):311--317, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. X. Leroy. Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In POPL'06, Jan. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. X. Leroy. Unboxed objects and polymorphic typing. In POPL '92, pages 177--188. ACM Press, Jan. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. J. Funct. Prog., 1(3):287--327, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  18. J. Matthews and R. B. Findler. Operational semantics for multi-language programs. In POPL '07, Jan. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. R. Meyer and K. Sieber. Towards fully abstract semantics for local variables. In POPL '88, pages 191--203, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Y. Minamide, G. Morrisett, and R. Harper. Typed closure conversion. In POPL '96, pages 271--283, Jan. 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Mulmuley. Full abstraction and semantic equivalence. MIT Press, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. M. Pitts. Existential types: Logical relations and operational equivalence. In ICALP '98, pages 309--326, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. D. Plotkin. Lambda-definability and logical relations. Memorandum SAI-RM-4, Univ. of Edinburgh, Oct. 1973.Google ScholarGoogle Scholar
  26. J. C. Reynolds. Types, abstraction, and parametric polymorphism. Information Processing, pages 513--523, 1983.Google ScholarGoogle Scholar
  27. J. G. Riecke. Fully abstract translations between functional languages. In POPL '91, pages 245--254, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Z. Shao. Flexible representation analysis. In ICFP '97, pages 85--98. ACM Press, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. W. W. Tait. Intensional interpretations of functionals of finite type I. J. of Symbolic Logic, 32(2):198--212, June 1967.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Typed closure conversion preserves observational equivalence

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!