Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Verified Software Toolchain Andrew W. Appel

Summary: Verified Software Toolchain
Andrew W. Appel
Princeton University
To appear in ESOP '11: European Symposium on Programming, March 2011
Abstract. The software toolchain includes static analyzers to check assertions
about programs; optimizing compilers to translate programs to machine language;
operating systems and libraries to supply context for programs. Our Verified Soft-
ware Toolchain verifies with machine-checked proofs that the assertions claimed
at the top of the toolchain really hold in the machine-language program, run-
ning in the operating-system context, on a weakly-consistent-shared-memory ma-
Our verification approach is modular, in that proofs about operating systems
or concurrency libraries are oblivious of the programming language or machine
language, proofs about compilers are oblivious of the program logic used to verify
static analyzers, and so on. The approach is scalable, in that each component is
verified in the semantic idiom most natural for that component.
Finally, the verification is foundational: the trusted base for proofs of observ-
able properties of the machine-language program includes only the operational
semantics of the machine language, not the source language, the compiler, the
program logic, or any other part of the toolchain--even when these proofs are


Source: Appel, Andrew W. - Department of Computer Science, Princeton University


Collections: Computer Technologies and Information Sciences