Abstract
Two recent areas of interest in software model checking are checking programs written in standard programming languages [1],[5] and using heuristics to guide the exploration of an explicit-state model checker [3]. Model checking real programs has the drawback that programs often contain a larger degree of detail than designs and hence are more dificult to check (due to the more acute stateexplosion problem); however the large amount of detail in a program allows more precise heuristics for narrowing down the search space when using a model checker for error-detection. This paper describes the addition of support for heuristic (or directed) search strategies to Java PathFinder (JPF), an explicit state model checker for Java bytecode that uses a custom-made Java Virtual Machine (JVM) [5].
The primary benefits of heuristic search are: discovery of errors that a depth- first search fails to find, and shorter (and thus easier to understand and correct) counterexample paths. In JPF a number of pre-defined heuristics are provided, but a user can also write their own by using an interface to the JVM. The rest of the paper is structured as follows: in section 2 we illustrate JPFs heuristic capabilities by showing two novel predefined heuristics as well as a simple userde fined heuristic, in section 3 we give results of using JPF with heuristics and in section 4 be briefly sketch some future work.
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
Thomas Ball, Sriram K. Rajamani. Automatically Validating Temporal Safety Properties of Interfaces. In SPIN 2001, pages 103–122, 2001. LNCS 2057.
Gerard Holzmann and Doron Peled. The State of SPIN. In CAV’ 96, LNCS, 1996.
Stefan Edelkamp, Alberto Lluch Lafuente, and Stefan Leue. Directed explicit model checking with HSF-Spin. In SPIN 2001, pages 57–79, 2001. LNCS 2057.
Stefan Edelkamp, Alberto Lluch Lafuente, and Stefan Leue. Trail-Directed Model Checking. In Proceedings of the Workshop of Software Model Checking, Electrical Notes in Theoretical Computer Science, Elsevier, July 2001.
W. Visser, K. Havelund, G. Brat and S. Park. Model Checking Programs. In IEEE International Conference on Automated Software Engineering (ASE), September 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Groce, A., Visser, W. (2002). Heuristic Model Checking for Java Programs. In: Bošnački, D., Leue, S. (eds) Model Checking Software. SPIN 2002. Lecture Notes in Computer Science, vol 2318. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46017-9_21
Download citation
DOI: https://doi.org/10.1007/3-540-46017-9_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43477-1
Online ISBN: 978-3-540-46017-6
eBook Packages: Springer Book Archive