A Proof-Carrying Code Architecture for Java

  • Christopher Colby
  • Peter Lee
  • George C. Necula
Conference paper

DOI: 10.1007/10722167_44

Part of the Lecture Notes in Computer Science book series (LNCS, volume 1855)
Cite this paper as:
Colby C., Lee P., Necula G.C. (2000) A Proof-Carrying Code Architecture for Java. In: Emerson E.A., Sistla A.P. (eds) Computer Aided Verification. CAV 2000. Lecture Notes in Computer Science, vol 1855. Springer, Berlin, Heidelberg

Abstract

In earlier work, Necula and Lee developed proof-carrying code (PCC) [3,5],which is a mechanism for ensuring the safe behavior of programs. In PCC, a program contains both the code and an encoding of an easy-to-check proof. The validity of the proof, which can be automatically determined by a simple proof-checking program, implies that the code, when executed, will behave safely according to a user-supplied formal definition of safe behavior. Later, Necula and Lee demonstrated the concept of a certifying compiler [6,7].Certifying compilers promise to make PCC more practical by compiling high-level source programs into optimized PCC binaries completely automatically, as opposed to depending on semi-automatic theorem-proving techniques. Taken together, PCC and certifying compilers provide a possible solution to the code safety problem, even in applications involving mobile code [4].

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Christopher Colby
    • 1
  • Peter Lee
    • 1
  • George C. Necula
    • 1
  1. 1.Cedilla Systems IncorporatedPittsburgh

Personalised recommendations