| History Roadmap Funding People News | |||||||
|
About Bandera
These pages present the Bandera tool set for model checking concurrent Java software. The next generation of the Bandera tool set is under development and we hope to have an initial public release ready by the summer of 2005. The next generation of Bandera will provide significantly more robust and scalable software checking capabilities than those found in Bandera 0.3 (the latest version described on these web pages). You may also be interested in looking at some other software tools that have been developed in the SAnToS Group at Kansas State University and the ESQuaReD Group at University of Nebraska (Lincoln).
Finite-state verification techniques, such as model checking, are attractive because they are capable of exposing very subtle defects in the logic of sequential and concurrent systems. Tool support for these techniques has reached a level of maturity where the hardware and telecommunications industries are beginning to incorporate them as a component of their development processes. Applying those tools to software system validation is not as easy for a variety of reasons. The Bandera project addresses one of the major obstacles in the path of practical finite-state verification of software. Tools like SMV and SPIN accept a description of a finite-state transition system as input. Bridging the semantic gap between a non-finite-state software system expressed as source code and those tool input languages requires the application of sophisticated program analysis, abstraction, and transformation techniques. The goal of the Bandera project is to integrate existing programming language processing techniques with newly developed techniques to provide automated support for the extraction of safe, compact, finite-state models that are suitable for verification from Java source code. While our ultimate goal is fully-automated model extraction for a broad class of software systems, our approach takes as a given that guidance from a software analyst may be required. The Bandera toolset is designed to be an open architecture in which a variety of analysis and transformation components may be incorporated. If you are interested in papers that give an overview of Bandera, we recommend the following three. The first gives an overview of the Bandera tools. The second describes the current user interface of Bandera, and presents the methodology that users are intended to follow. The third gives a detailed presentation of Bandera's temporal specification language.
|
|||||||