Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software

  • Authors:
  • John Hatcliff;Matthew B. Dwyer

  • Affiliations:
  • -;-

  • Venue:
  • CONCUR '01 Proceedings of the 12th International Conference on Concurrency Theory
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

The Bandera Tool Set is an integrated collection of program analysis, transformation, and visualization components designed to facilitate experimentation with model-checking Java source code. Bandera takes as input Java source code and a software requirement formalized in Bandera's temporal specification language, and it generates a program model and specification in the input language of one of several existing model-checking tools (including Spin [16], dSpin [6], SMV [3], and JPF [2]). Both program slicing and user extensible abstract interpretation components are applied to customize the program model to the property being checked. When a model-checker produces an error trail, Bandera renders the error trail at the source code level and allows the user to step through the code along the path of the trail while displaying values of variables and internal states of Java lock objects. In this tutorial paper, we use a simple concurrent Java program to illustrate the functionality of the main components of Bandera and how to interact the tool set using its graphical user interface.