Tool-supported program abstraction for finite-state verification

Matthew B. Dwyer, John Hatcliff, Roby Joehanes, Shawn Laubach, C.S. Pasreanu, R.H. Zheng, Willem Visser

Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001 · 2005 · 47 citations · 9 references

Concepts

Abstract

Numerous researchers have reported success in reasoning about properties of small programs using finite-state verification techniques. We believe, as do most researchers in this area, that in order to scale those initial successes to realistic programs, aggressive abstraction of program data will be necessary. Furthermore, we believe that to make abstraction-based verification usable by non-experts significant tool support will be required. In this paper we describe how several different program analysis and transformation techniques are integrated into the Bandera toolset to provide facilities for abstracting Java programs to produce compact, finite-state models that are amenable to verification for example via model checking. We illustrate the application of Bandera's abstraction facilities to analyze a realistic multi-threaded Java program.

References

9