Skip to main content
Log in

Expressing checkable properties of dynamic systems: the Bandera Specification Language

  • Special section on SPIN
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract.

Research on how to reason about correctness properties of software systems using model checking is advancing rapidly. Work on extracting finite-state models from program source code and on abstracting those models is focused on enabling the tractable checking of program properties such as freedom from deadlock and assertion violations. For the most part, the problem of specifying more general program properties has not been considered. In this paper, we report on the support for specifying properties of dynamic multi-threaded Java programs that we have built into the Bandera system. Bandera extracts finite-state models, in the input format of several existing model checkers, from Java code based on the property to be checked. The Bandera Specification Language (BSL) provides a language for defining general assertions and pre/post conditions on methods. It also supports the definition of observations that can be made of the state of program objects and the incorporation of those observations as predicates that can be instantiated in the scope of object quantifiers and used in describing common forms of state/event sequencing properties. We illustrate how BSL can be used to formulate a variety of system correctness properties for several multi-threaded Java applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Published online: 2 October 2002

Rights and permissions

Reprints and permissions

About this article

Cite this article

Corbett, J., Dwyer, M., Hatcliff, J. et al. Expressing checkable properties of dynamic systems: the Bandera Specification Language. STTT 4, 34–56 (2002). https://doi.org/10.1007/s100090200075

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s100090200075

Navigation