Foundations of the Bandera Abstraction Tools [chapter]

John Hatcliff, Matthew B. Dwyer, Corina S. Păsăreanu, Robby
2002 Lecture Notes in Computer Science  
Current research is demonstrating that model-checking and other forms of automated finite-state verification can be effective for checking properties of software systems. Eue to the exponentid costs associated with model-checking, multiple forms of abstraction are often necessary to obtain system models that are tractable for automated checking. The Bandera Tool Set provides multiple forms of automated support for compiling concurrent Java software systems to models that can be supplied to
more » ... al different model-checking tools. In this paper, we describe the foundations of Bandera's data abstraction mechanism which is used to reduce the cardinality (and the program's state-space) of data domains in software to be model-checked. From a technical standpoint, the form of data abstraction used in Bandera is simple, and it is based on classical presentations of abstract interpretation. We describe the mechanisms that Bandera provides for declaring abstractions, for attaching abstractions to programs, and for generating abstracted programs and properties. The contributions of this work are the design and implementation of various forms of tool support required for effective application of data abstraction to software components written in a programming language like Java which has a rich set of linguistic features.
doi:10.1007/3-540-36377-7_9 fatcat:l5f6fssdargbjlm6rt2knk4h3m