Tool-supported program abstraction for finite-state verification

  • Authors:
  • Matthew B. Dwyer;John Hatcliff;Roby Joehanes;Shawn Laubach;Corina S. Păsăreanu;Hongjun Zheng;Willem Visser

  • Affiliations:
  • Kansas State University, Department of Computing and Information Sciences, Manhattan, KS;Kansas State University, Department of Computing and Information Sciences, Manhattan, KS;Kansas State University, Department of Computing and Information Sciences, Manhattan, KS;Kansas State University, Department of Computing and Information Sciences, Manhattan, KS;Kansas State University, Department of Computing and Information Sciences, Manhattan, KS;Kansas State University, Department of Computing and Information Sciences, Manhattan, KS;Kansas State University, Department of Computing and Information Sciences, Manhattan, KS

  • Venue:
  • ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

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 axample via model checking. We illustrate the application of Bandera's abstraction facilities to analyze a realistic multi-threaded Java program.