Abstract
We present an overview of the techniques developed under the SAFE project. The goal of SAFE was to create a practical lightweight framework to verify simple properties of realistic Java applications. The work on SAFE covered a lot of ground, starting from typestate verification techniques, through inference of typestate specifications, checking for absence of null derefences, automatic resource disposal, and an attempt at modular typestate analysis. In many ways, SAFE represents a modern incarnation of early ideas on the use of static analysis for software reliability. SAFE went a long way in making these ideas applicable to real properties of real software, but applying them at the scale of modern framework-intensive software remains a challenge. We are encouraged by our experience with SAFE, and believe that the technique developed in SAFE can serve as a solid basis for future work on practical verification technology.
Original language | Undefined/Unknown |
---|---|
Title of host publication | Engineering of Software: The Continuing Contributions of Leon J. Osterweil |
Editors | Peri L. Tarr, Alexander L. Wolf |
Place of Publication | Berlin, Heidelberg |
Pages | 17-33 |
Number of pages | 17 |
DOIs | |
State | Published - 2011 |