×

Foundations of the Bandera abstraction tools. (English) Zbl 1026.68511

Mogensen, Torben Æ. (ed.) et al., The essence of computation. Complexity, analysis, transformation. Essays dedicated to Neil D. Jones. Berlin: Springer. Lect. Notes Comput. Sci. 2566, 172-203 (2002).
Summary: Current research is demonstrating that model-checking and other forms of automated finite-state verification can be effective for checking properties of software systems. Due to the exponential 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 several 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.
For the entire collection see [Zbl 1013.00017].

MSC:

68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)
68Q60 Specification and verification (program logics, model checking, etc.)
68N15 Theory of programming languages
PDFBibTeX XMLCite
Full Text: Link