Title :
A syntactic approach to foundational proof-carrying code
Author :
Hamid, Nadeem A. ; Shao, Zhong ; Trifonov, Valery ; Monnier, Stefan ; Ni, Zhaozhong
Author_Institution :
Dept. of Comput. Sci., Yale Univ., New Haven, CT, USA
Abstract :
Proof-carrying code (PCC) is a general framework for verifying the safety properties of machine-language programs. PCC proofs are usually written in a logic extended with language-specific typing rules. In foundational proof-carrying code (FPCC), on the other hand, proofs are constructed and verified using strictly the foundations of mathematical logic, with no type-specific axioms. FPCC is more flexible and secure because it is not tied to any particular type system and it has a smaller trusted base. Foundational proofs, however are much harder to construct. Previous efforts on FPCC all required building sophisticated semantic models for types. In this paper, we present a syntactic approach to FPCC that avoids the difficulties of previous work. Under our new scheme, the foundational proof for a typed machine program simply consists of the typing derivation plus the formalized syntactic soundness proof for the underlying type system. We give a translation from a typed assembly language into FPCC and demonstrate the advantages of our new system via an implementation in the Coq proof assistant.
Keywords :
formal logic; theorem proving; Coq proof assistant; foundational proof-carrying code; general framework; language-specific typing rules; machine-language programs; mathematical logic; safety properties; syntactic approach; typed assembly language; Assembly systems; Buildings; Computer bugs; Computer science; Logic; Proposals; Safety;
Conference_Titel :
Logic in Computer Science, 2002. Proceedings. 17th Annual IEEE Symposium on
Print_ISBN :
0-7695-1483-9
DOI :
10.1109/LICS.2002.1029819