| | |
Summary: Foundational High-level Static Analysis
Andrew W. Appel
Princeton University
appel@princeton.edu
Abstract. A formal method (e.g., of software verification) is
foundational if it proves program properties from the axioms
of logic and from a low-level machine specification (ISA or
transistors). The proofs should be machine-checked, because
hand-checked proofs don't track real software systems well.
With recent advances on several fronts (in static analysis,
semantics, compiler verification) it is now feasible to put
scalable, fully automatic program analyses (such as shape
analysis of concurrent C programs) on a foundational foot-
ing.
This is an exciting time for the formal verification of soft-
ware, in part because several threads of research, in progress
for decades, have the potential to cohere. These threads in-
clude a gradual revolution in the specification methods for
operational semantics of programming languages (1994
2008); progress in the specification of weak memory mod-
|