Skip to main content

Heuristic Model Checking for Java Programs

  • Conference paper
  • First Online:
Model Checking Software (SPIN 2002)

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

Included in the following conference series:

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.

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. Thomas Ball, Sriram K. Rajamani. Automatically Validating Temporal Safety Properties of Interfaces. In SPIN 2001, pages 103–122, 2001. LNCS 2057.

    Google Scholar 

  2. Gerard Holzmann and Doron Peled. The State of SPIN. In CAV’ 96, LNCS, 1996.

    Google Scholar 

  3. Stefan Edelkamp, Alberto Lluch Lafuente, and Stefan Leue. Directed explicit model checking with HSF-Spin. In SPIN 2001, pages 57–79, 2001. LNCS 2057.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. W. Visser, K. Havelund, G. Brat and S. Park. Model Checking Programs. In IEEE International Conference on Automated Software Engineering (ASE), September 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics