Skip to main content

Randomized Backtracking in State Space Traversal

  • Conference paper
Model Checking Software (SPIN 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6823))

Included in the following conference series:

Abstract

While exhaustive state space traversal is not feasible in reasonable time for complex concurrent programs, many techniques for efficient detection of concurrency errors and testing of concurrent programs have been introduced in recent years, such as directed search and context-bounded model checking.

We propose to use depth-first traversal with randomized backtracking, where it is possible to backtrack from a state before all outgoing transitions have been explored, and the whole process is driven by random number choices. Experiments with a prototype implementation in JPF on several Java programs show that, in most cases, fewer states must be explored to find an error with our approach than using the existing techniques.

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 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.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. Concurrency Tool Comparison repository, https://facwiki.cs.byu.edu/vv-lab/index.php/Concurrency_Tool_Comparison

  2. Coons, K.E., Burckhardt, S., Musuvathi, M.: GAMBIT: Effective Unit Testing for Concurrency Libraries. In: PPoPP 2010, ACM, New York (2010)

    Google Scholar 

  3. Dwyer, M.B., Elbaum, S.G., Person, S., Purandare, R.: Parallel Randomized State-Space Search. In: ICSE. IEEE CS, Los Alamitos (2007)

    Google Scholar 

  4. Dwyer, M.B., Person, S., Elbaum, S.G.: Controlling Factors in Evaluating Path-Sensitive Error Detection Techniques. In: FSE 2006. ACM, New York (2006)

    Google Scholar 

  5. Edelkamp, S., Leue, S., Lluch-Lafuente, A.: Directed Explicit-State Model Checking in the Validation of Communication Protocols. International Journal on Software Tools for Technology Transfer 5(2-3) (2004)

    Google Scholar 

  6. Edelkamp, S., Schuppan, V., Bosnacki, D., Wijs, A., Fehnker, A., Aljazzar, H.: Survey on Directed Model Checking. In: Peled, D.A., Wooldridge, M.J. (eds.) MoChArt 2008. LNCS, vol. 5348, pp. 65–89. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  7. Groce, A., Visser, W.: Heuristics for Model Checking Java Programs. International Journal on Software Tools for Technology Transfer 6(4) (2004)

    Google Scholar 

  8. Holzmann, G.J., Joshi, R., Groce, A.: Tackling Large Verification Problems with the Swarm Tool. In: Havelund, K., Majumdar, R. (eds.) SPIN 2008. LNCS, vol. 5156, pp. 134–143. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Holzmann, G.J., Joshi, R., Groce, A.: Swarm Verification. In: ASE 2008. IEEE CS, Los Alamitos (2008)

    Google Scholar 

  10. Java PathFinder, http://babelfish.arc.nasa.gov/trac/jpf/

  11. Jones, M., Mercer, E.G.: Explicit State Model Checking with Hopper. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 146–150. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  12. Luby, M., Sinclair, A., Zuckerman, D.: Optimal Speedup of Las Vegas Algorithms. Information Processing Letters 47(4) (1993)

    Google Scholar 

  13. Musuvathi, M., Qadeer, S.: Iterative Context Bounding for Systematic Testing of Multithreaded Programs. In: PLDI. ACM, New York (2007)

    Google Scholar 

  14. Parallel Java Benchmarks, http://code.google.com/p/pjbench

  15. Qadeer, S.: Daisy File System. Joint CAV/ISSTA special event on specification, verification and testing of concurrent software (2004)

    Google Scholar 

  16. Qadeer, S., Rehof, J.: Context-Bounded Model Checking of Concurrent Software. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 93–107. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  17. Rabinovitz, I., Grumberg, O.: Bounded Model Checking of Concurrent Programs. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 82–97. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  18. Rungta, N., Mercer, E.G.: Generating Counter-Examples Through Randomized Guided Search. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 39–57. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  19. Rungta, N., Mercer, E.: Clash of the Titans: Tools and Techniques for Hunting Bugs in Concurrent Programs. In: PADTAD. ACM, New York (2009)

    Google Scholar 

  20. Sen, K.: Effective Random Testing of Concurrent Programs. In: ASE. ACM, New York (2007)

    Google Scholar 

  21. Seppi, K., Jones, M., Lamborn, P.: Guided Model Checking with a Bayesian Meta-Heuristic. Fundamenta Informaticae 70(1-2) (2006)

    Google Scholar 

  22. Wehrle, M., Kupferschmid, S.: Context-Enhanced Directed Model Checking. In: van de Pol, J., Weber, M. (eds.) Model Checking Software. LNCS, vol. 6349, pp. 88–105. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Parízek, P., Lhoták, O. (2011). Randomized Backtracking in State Space Traversal. In: Groce, A., Musuvathi, M. (eds) Model Checking Software. SPIN 2011. Lecture Notes in Computer Science, vol 6823. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22306-8_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-22306-8_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-22305-1

  • Online ISBN: 978-3-642-22306-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics