Skip to main content

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

  • Conference paper
  • First Online:
CONCUR 2001 — Concurrency Theory (CONCUR 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2154))

Included in the following conference series:

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. Ball and S. Rajamani. Bebop: a symbolic model-checker for boolean programs. In K. Havelund, editor, Proceedings of Seventh International SPIN Workshop, LNCS 1885, Springer-Verlag, 2000.

    Google Scholar 

  2. G. Brat, K. Havelund, S. Park, and W. Visser. Java PathFinder-a second generation of a Java model-checker. In Proceedings of the Workshop on Advances in Verification, July 2000.

    Google Scholar 

  3. A. Cimatti, E. Clarke, F. Giunchiglia, and M. Roveri. NuSMV: a new symbolic model checker. International Journal on Software Tools for Technology Transfer, 2000. (to appear)

    Google Scholar 

  4. J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. P⇒→eanu, Robby, and H. Zheng. Bandera: Extracting finite-state models from Java source code. In Proceedings of the 22nd International Conference on Software Engineering, pages 439–448, June 2000.

    Google Scholar 

  5. J. Corbett, M. Dwyer, J. Hatcliff, and Robby. Expressing checkable properties of dynamic systems: The Bandera Specification Language. Submitted for publication. A shorter version of this paper appeared in the 2000 Spin Workshop.

    Google Scholar 

  6. C. Demartini, R. Iosif, and R. Sisto. dSPIN: A dynamic extension of SPIN. In Theoretical and Applied Aspects of SPIN Model Checking (LNCS 1680), 1999.

    Chapter  Google Scholar 

  7. M. B. Dwyer, J. C. Corbett, and C. S. P⇒→eanu. Translating Ada programs for model checking: A tutorial. Technical Report 98-12, Kansas State University, Department of Computing and Information Sciences, 1998.

    Google Scholar 

  8. M. B. Dwyer, J. Hatcliff, R. Joehanes, S. Laubach, C. S. P⇒→eanu, Robby, W. Visser, and H. Zheng. Tool-supported abstraction for finite-state verification. In Proceedings of the 23nd International Conference on Software Engineering, pages 177–187, May 2001.

    Google Scholar 

  9. M. B. Dwyer and C. S. P⇒→eanu. Filter-based model checking of partial systems. In Proceedings of the Sixth ACM SIGSOFT Symposium on Foundations of Software Engineering, November 1998.

    Google Scholar 

  10. M. B. Dwyer, G. S. Avrunin, and J. C. Corbett. A System of Specification Patterns. I http://www.cis.ksu.edu/santos/spec-patterns-, 1998.

  11. M. B. Dwyer, G. S. Avrunin, and J. C. Corbett. Patterns in property specifications for finite-state verification. In Proceedings of the 21st International Conference on Software Engineering, May 1999.

    Google Scholar 

  12. P. Godefroid. Model-checking for programming languages using VeriSoft. POPL’97, pages 174–186, January 1997.

    Google Scholar 

  13. J. Hatcliff, J. Corbett, M. B. Dwyer, S. Sokolowski, and H. Zheng. A formal study of slicing for multi-threaded programs with JVM concurrency primitives. In Proceedings of the 6th International Static Analysis Symposium (SAS’99).

    Google Scholar 

  14. J. Hatcliff, M. B. Dwyer, and H. Zheng. Slicing software for model construction. Higher-order and Symbolic Computation, 13(4):315–254, December 2000.

    Google Scholar 

  15. G. Holzmann. Logic verification of ANSI-C code with SPIN. In K. Havelund, editor, Proceedings of Seventh International SPIN Workshop, LNCS 1885, pages 131–147. Springer-Verlag, 2000.

    Google Scholar 

  16. G. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279–294, May 1997.

    Google Scholar 

  17. T. Lev-Ami and M. Sagiv. TVLA: A framework for kleene-based static analysis. In Proceedings of the 7th International Static Analysis Symposium (SAS’00), 2000.

    Google Scholar 

  18. D. Y. W. Park, U. Stern, J. U. Skakkebaek, and D. L. Dill. Java model checking. In Proc. of the First International Workshop on Automated Program Analysis, Testing and Verification, June 2000.

    Google Scholar 

  19. J. Penix, W. Visser, E. Engstrom, A. Larson, and N. Weininger. Verification of time partitioning in the DEOS scheduler kernel. In Proceedings of the 22nd International Conference on Software Engineering, June 2000.

    Google Scholar 

  20. S. Stoller. Model-checking multi-threaded distributed Java programs. In K. Havelund, editor, Proceedings of Seventh International SPIN Workshop, LNCS 1885, pages 224–244. Springer-Verlag, 2000.

    Google Scholar 

  21. R.Valle-Rai, L. Hendren, V. Sundaresan, P. Lam, E. Gagnon, and P. Co. Soot-a Java optimization framework. In Proceedings of CASCON’99, November 1999.

    Google Scholar 

  22. E. Yahav. Verifying safety properties of concurrent java programs using 3-valued logic. POPL’01, pages 27–40, January 2001.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hatcliff, J., Dwyer, M. (2001). Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software. In: Larsen, K.G., Nielsen, M. (eds) CONCUR 2001 — Concurrency Theory. CONCUR 2001. Lecture Notes in Computer Science, vol 2154. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44685-0_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-44685-0_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42497-0

  • Online ISBN: 978-3-540-44685-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics