skip to main content
article
Open Access

An indexed model of recursive types for foundational proof-carrying code

Published:01 September 2001Publication History
Skip Abstract Section

Abstract

The proofs of "traditional" proof carrying code (PCC) are type-specialized in the sense that they require axioms about a specific type system. In contrast, the proofs of foundational PCC explicitly define all required types and explicitly prove all the required properties of those types assuming only a fixed foundation of mathematics such as higher-order logic. Foundational PCC is both more flexible and more secure than type-specialized PCC.For foundational PCC we need semantic models of type systems on von Neumann machines. Previous models have been either too weak (lacking general recursive types and first-class function-pointers), too complex (requiring machine-checkable proofs of large bodies of computability theory), or not obviously applicable to von Neumann machines. Our new model is strong, simple, and works either in λ-calculus or on Pentiums.

References

  1. APPEL,A.W.AND FELTEN, E. W. 2001. Models for security policies in proof-carrying code. Tech. Rep. TR-636-01, Computer Science, Princeton University.]]Google ScholarGoogle Scholar
  2. APPEL,A.W.AND FELTY, A. P. 2000. A semantic model of types and machine instructions for proof-carrying code. In POPL '00: The 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, New York, NY, 243-253.]] Google ScholarGoogle Scholar
  3. BIRKEDAL,L.AND HARPER, R. 1997. Relational interpretations of recursive types in an operational setting. In Theoretical Aspects of Computer Software. Springer-Verlag, Berlin.]] Google ScholarGoogle Scholar
  4. COLBY, C., LEE, P., NECULA,G.C.,BLAU, F., CLINE, K., AND PLESKO, M. 2000. A certifying compiler for Java. In Proceedings of the 2000 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '00). ACM Press, New York, NY.]] Google ScholarGoogle Scholar
  5. CONSTABLE, R. L., ALLEN,S.F.,BROMLEY, H. M., CLEAVELAND, W. R., CREMER,J.F.,HARPER,R.W., HOWE,D.J.,KNOBLOCK,T.B.,MENDLER,N.P.,PANANGADEN, P., SASAKI,J.T.,AND SMITH, S. F. 1986. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs, NJ.]] Google ScholarGoogle Scholar
  6. HARPER, R., HONSELL,F.,AND PLOTKIN, G. 1993. A framework for defining logics. J. ACM 40,1 (Jan.), 143-184.]] Google ScholarGoogle Scholar
  7. MACQUEEN, D., PLOTKIN,G.,AND SETHI, R. 1986. An ideal model for recursive polymophic types. Information and Computation 71, 1/2, 95-130.]] Google ScholarGoogle Scholar
  8. MICHAEL,N.G.AND APPEL, A. W. 2000. Machine instruction syntax and semantics in higher-order logic. In 17th International Conference on Automated Deduction. Springer-Verlag, Berlin. LNAI 1831.]] Google ScholarGoogle Scholar
  9. MILNER, R. 1977. Fully abstract models of typed -calculi. Theoretical Computer Science 4, 1-22.]]Google ScholarGoogle Scholar
  10. MINAMIDE, Y., MORRISETT,G.,AND HARPER, R. 1996. Typed closure conversion. In POPL '96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, New York, NY, 271-283.]] Google ScholarGoogle Scholar
  11. MITCHELL,J.C.AND VISWANATHAN, R. 1996. Effective models of polymorphism, subtyping and recursion. In 23rd International Colloquium on Automata, Languages, and Programming. Springer-Verlag, Berlin.]] Google ScholarGoogle Scholar
  12. MORRISETT, G., CRARY, K., GLEW,N.,AND WALKER, D. 1998a. Stack-based typed assembly language. In ACM Workshop on Types in Compilation. Springer-Verlag, Berlin. LNCS 1473.]] Google ScholarGoogle Scholar
  13. MORRISETT, G., WALKER, D., CRARY, K., AND GLEW, N. 1998b. From System F to typed assembly language. In POPL '98: 25th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Pro-gramming Languages. ACM Press, New York NY, 85-97.]] Google ScholarGoogle Scholar
  14. NECULA, G. 1997. Proof-carrying code. In 24th ACMSIGPLAN-SIGACTSymposium on Principles of Programming Languages. ACM Press, New York, NY, 106-119.]] Google ScholarGoogle Scholar
  15. NECULA, G. C. 1998. Compiling with proofs. Ph.D. dissertation, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA.]] Google ScholarGoogle Scholar
  16. PFENNING, F. 1994. Elf: A meta-language for deductive systems. In Proceedings of the 12th Inter-national Conference on Automated Deduction, A. Bundy, Ed. Springer-Verlag LNAI 814, Nancy, France, 811-815.]] Google ScholarGoogle Scholar
  17. PFENNING,F.AND SCHURMANN, C. 1999. System description: Twelf-a meta-logical framework for deductive systems. In The 16th International Conference on Automated Deduction. Springer-Verlag, Berlin.]] Google ScholarGoogle Scholar
  18. PITTS, A. M. 1996. Relational properties of domains. Information and Computation 127, 2, 66-90.]]Google ScholarGoogle Scholar
  19. SCHMIDT, D. A. 1986. Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Boston, MA.]] Google ScholarGoogle Scholar
  20. SCOTT, D. S. 1976. Data types as lattices. SIAM J. Comput. 5, 3, 522-87.]]Google ScholarGoogle Scholar
  21. WINSKEL, G. 1993. The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge, MA.]] Google ScholarGoogle Scholar

Index Terms

  1. An indexed model of recursive types for foundational proof-carrying code

      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

      • Published in

        cover image ACM Transactions on Programming Languages and Systems
        ACM Transactions on Programming Languages and Systems  Volume 23, Issue 5
        September 2001
        81 pages
        ISSN:0164-0925
        EISSN:1558-4593
        DOI:10.1145/504709
        Issue’s Table of Contents

        Copyright © 2001 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 September 2001
        Published in toplas Volume 23, Issue 5

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader