DocumentCode :
2571707
Title :
An implementation of a verification condition generator for foundational proof-carrying code
Author :
Weng, Jiangong ; Felty, Amy
Author_Institution :
Sch. of Inf. Technol. & Eng., Univ. of Ottawa, Ottawa, ON, Canada
fYear :
2011
fDate :
19-21 July 2011
Firstpage :
238
Lastpage :
245
Abstract :
Proof-carrying code (PCC) is a technique that addresses the problem of mobile code safety. It is a mechanism in which a code producer provides both code and a proof certifying that the code will run safely on a code consumer´s machine. The code consumer or the host system will validate the proof against a safety policy before executing the source code. Foundational proof-carrying code (FPCC) aims to minimize the amount of code that must be trusted (the “trusted computing base” or TCB) with the goal of providing more flexibility and increased security. In both PCC and FPCC, the verification-condition generator (VCG) constructs the statement of the safety theorem from the source code, and is an important part of the TCB. This paper presents an implementation of a VCG based on a sound set of Hoare-style rules for machine instructions in the context of FPCC. The implementation in OCaml is described and examples illustrating the approach are given. The output of our VCG is a list of verification conditions that are directly inserted into a proof script that serves as input to the Coq proof assistant, and represents an important part of the safety proofs of our programs. We also present examples showing how these verification conditions are used to complete the proofs of safety. This work represents an important step in automating proofs for PCC.
Keywords :
formal verification; functional languages; security of data; Coq proof assistant; Hoare-style rule; OCaml functional language; PCC technique; code consumer machine; foundational proof-carrying code; host system; machine instruction; mobile code safety; safety policy; safety proof; safety theorem; source code; trusted computing base; verification condition generator; Automation; Generators; Libraries; Reactive power; Resource management; Safety; Semantics;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Privacy, Security and Trust (PST), 2011 Ninth Annual International Conference on
Conference_Location :
Montreal, QC
Print_ISBN :
978-1-4577-0582-3
Type :
conf
DOI :
10.1109/PST.2011.5971989
Filename :
5971989
Link To Document :
بازگشت