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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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)
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.
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.
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.
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.
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.
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.
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.
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.
P. Godefroid. Model-checking for programming languages using VeriSoft. POPL’97, pages 174–186, January 1997.
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).
J. Hatcliff, M. B. Dwyer, and H. Zheng. Slicing software for model construction. Higher-order and Symbolic Computation, 13(4):315–254, December 2000.
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.
G. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279–294, May 1997.
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.
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.
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.
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.
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.
E. Yahav. Verifying safety properties of concurrent java programs using 3-valued logic. POPL’01, pages 27–40, January 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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