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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Concurrency Tool Comparison repository, https://facwiki.cs.byu.edu/vv-lab/index.php/Concurrency_Tool_Comparison
Coons, K.E., Burckhardt, S., Musuvathi, M.: GAMBIT: Effective Unit Testing for Concurrency Libraries. In: PPoPP 2010, ACM, New York (2010)
Dwyer, M.B., Elbaum, S.G., Person, S., Purandare, R.: Parallel Randomized State-Space Search. In: ICSE. IEEE CS, Los Alamitos (2007)
Dwyer, M.B., Person, S., Elbaum, S.G.: Controlling Factors in Evaluating Path-Sensitive Error Detection Techniques. In: FSE 2006. ACM, New York (2006)
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)
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)
Groce, A., Visser, W.: Heuristics for Model Checking Java Programs. International Journal on Software Tools for Technology Transfer 6(4) (2004)
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)
Holzmann, G.J., Joshi, R., Groce, A.: Swarm Verification. In: ASE 2008. IEEE CS, Los Alamitos (2008)
Java PathFinder, http://babelfish.arc.nasa.gov/trac/jpf/
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)
Luby, M., Sinclair, A., Zuckerman, D.: Optimal Speedup of Las Vegas Algorithms. Information Processing Letters 47(4) (1993)
Musuvathi, M., Qadeer, S.: Iterative Context Bounding for Systematic Testing of Multithreaded Programs. In: PLDI. ACM, New York (2007)
Parallel Java Benchmarks, http://code.google.com/p/pjbench
Qadeer, S.: Daisy File System. Joint CAV/ISSTA special event on specification, verification and testing of concurrent software (2004)
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)
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)
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)
Rungta, N., Mercer, E.: Clash of the Titans: Tools and Techniques for Hunting Bugs in Concurrent Programs. In: PADTAD. ACM, New York (2009)
Sen, K.: Effective Random Testing of Concurrent Programs. In: ASE. ACM, New York (2007)
Seppi, K., Jones, M., Lamborn, P.: Guided Model Checking with a Bayesian Meta-Heuristic. Fundamenta Informaticae 70(1-2) (2006)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)