Skip to main content

Foundational Certified Code in a Metalogical Framework

  • Conference paper
Automated Deduction – CADE-19 (CADE 2003)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 2741))

Included in the following conference series:

Abstract

Foundational certified code systems seek to prove untrusted programs to be safe relative to safety policies given in terms of actual machine architectures, thereby improving the systems’ flexibility and extensibility. Previous efforts have employed a structure wherein the proofs are expressed in the same logic used to express the safety policy. We propose an alternative structure wherein safety proofs are expressed in the Twelf metalogic, thereby eliminating from those proofs an extra layer of encoding needed in the previous accounts. Using this metalogical approach, we have constructed a complete, foundational account of safety for a fully expressive typed assembly language.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Appel, A.W., Felty, A.P.: A semantic model of types and machine instructions for proof-carrying code. In: Twenty-Seventh ACM Symposium on Principles of Programming Languages, Boston, January 2000, pp. 243–253 (2000)

    Google Scholar 

  2. Appel, A.W., Michael, N., Stump, A., Virga, R.: A trustworthy proof checker. Technical Report TR-647-02, Department of Computer Science, Princeton University (April 2002)

    Google Scholar 

  3. Bernard, A., Lee, P.: Temporal logic for proof-carrying code. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 31–46. Springer, Heidelberg (2002)

    Google Scholar 

  4. Boehm, H.-J., Weiser, M.: Garbage collection in an uncooperative environment. Software Practice and Experience 18(9), 807–820 (1988)

    Article  Google Scholar 

  5. Buyya, R., Baker, M. (eds.) GRID 2000. LNCS, vol. 1971. Springer, Heidelberg (2000)

    Google Scholar 

  6. Chang, B.-Y.E., Crary, K., DeLap, M., Harper, R., Liszka, J., Murphyø VII, T., Pfenning, F.: Trustless grid computing in conCert. In: Parashar, M. (ed.) GRID 2002. LNCS, vol. 2536, pp. 112–125. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  7. Colby, C., Lee, P., Necula, G., Blau, F.: A certifying compiler for Java. In: 2000 SIGPLAN Conference on Programming Language Design and Implementation, Vancouver, British Columbia, June 2000, pp. 95–107 (2000)

    Google Scholar 

  8. Crary, K.: Toward a foundational typed assembly language. In: Thirtieth ACM Symposium on Principles of Programming Languages, New Orleans, Louisiana, January 2003, pp. 198–212 (2003)

    Google Scholar 

  9. Crary, K., Sarkar, S.: Foundational certified code in a metalogical framework. Technical Report CMU-CS-03-108, Carnegie Mellon University, School of Computer Science (2003)

    Google Scholar 

  10. Hamid, N., Shao, Z., Trifonov, V., Monnier, S., Ni, Z.: A syntactic approach to foundational proof-carrying code. In: Seventeenth IEEE Symposium on Logic in Computer Science, Copenhagen, Denmark, July 2002, pp. 89–100 (2002)

    Google Scholar 

  11. Harper, R.: A simplified account of polymorphic references. Information Processing Letters 51(4), 201–206 (1994); Follow-up note in Information Processing Letters 57(1) (1996)

    Article  MATH  MathSciNet  Google Scholar 

  12. Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. Journal of the ACM 40(1), 143–184 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  13. Intel Corporation. IA-32 Intel Architecture Software Developer’s Manual. Order numbers 245470–245472 (2001)

    Google Scholar 

  14. Lee, C.A. (ed.) GRID 2001. LNCS, vol. 2242. Springer, Heidelberg (2001)

    Google Scholar 

  15. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)

    Google Scholar 

  16. Morrisett, G., Crary, K., Glew, N., Grossman, D., Samuels, R., Smith, F., Walker, D., Weirich, S., Zdancewic, S.: TALx86: A realistic typed assembly language. In: Second Workshop on Compiler Support for System Software, Atlanta (May 1999)

    Google Scholar 

  17. Morrisett, G., Crary, K., Glew, N., Walker, D.: Stack-based typed assembly language. Journal of Functional Programming 12(1), 43–88 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  18. Morrisett, G., Walker, D., Crary, K., Glew, N.: From System F to typed assembly language. ACM Transactions on Programming Languages and Systems 21(3), 527–568 (1999); An earlier version appeared in the 1998 Symposium on Principles of Programming Languages

    Article  Google Scholar 

  19. Necula, G.: Proof-carrying code. In: Twenty-Fourth ACM Symposium on Principles of Programming Languages, Paris, January 1997, pp. 106–119 (1997)

    Google Scholar 

  20. Necula, G., Lee, P.: Safe kernel extensions without run-time checking. In: Second Symposium on Operating Systems Design and Implementation, Seattle, October 1996, pp. 229–243 (1996)

    Google Scholar 

  21. Necula, G.C.: Compiling with Proofs. PhD thesis, Carnegie Mellon University, School of Computer Science, Pittsburgh, Pennsylvania (September 1998)

    Google Scholar 

  22. Parashar, M. (ed.) GRID 2002. LNCS, vol. 2536, Springer, Heidelberg (2002)

    Google Scholar 

  23. Paulin-Mohring, C.: Inductive definitions in the system coq – rules and properties. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  24. Pfenning, F., Schürmann, C.: System description: Twelf – a metalogic framework for deductive systems. In: Ganzinger, H. (ed.) CADE 1999. LNCS (LNAI), vol. 1632, pp. 202–206. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  25. Pfenning, F., Schürmann, C.: Twelf User’s Guide, Version 1.3R4 (2002), Available electronically at http://www.cs.cmu.edu/~twelf

  26. SETI@Home (November 2000), http://setiathome.ssl.berkeley.edu

  27. Tool Interface Standards Committee. Executable and Linking Format (ELF) specification (May 1995), http://x86.ddj.com/ftp/manuals/tools/elf.pdf

  28. Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115, 38–94 (1994)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Crary, K., Sarkar, S. (2003). Foundational Certified Code in a Metalogical Framework. In: Baader, F. (eds) Automated Deduction – CADE-19. CADE 2003. Lecture Notes in Computer Science(), vol 2741. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45085-6_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45085-6_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40559-7

  • Online ISBN: 978-3-540-45085-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics