The SAFE Experience

Eran Yahav, Stephen Fink

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

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 languageUndefined/Unknown
Title of host publicationEngineering of Software: The Continuing Contributions of Leon J. Osterweil
EditorsPeri L. Tarr, Alexander L. Wolf
Place of PublicationBerlin, Heidelberg
Pages17-33
Number of pages17
DOIs
StatePublished - 2011

Cite this