Abstract
Verifying concurrent programs is challenging since the number of thread interleavings that need to be explored can be huge even for moderate programs. We present a cartesian semantics that reduces the amount of non-determinism in concurrent programs by delaying unnecessary context switches. Using this semantics, we construct a novel dynamic partial-order reduction algorithm. We have implemented our algorithm and evaluate it on a small set of benchmarks. Our preliminary experimental results show a significant potential saving in the number of explored states and transitions.
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
Ball, T., Rajamani, S.: The SLAM Toolkit. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 260–264. Springer, Heidelberg (2001)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)
Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Robby, C.S.P., Zheng, H.: Bandera: Extracting Finite-State Models from Java Source Code. In: Proceedings of the 22nd International Conference on Software Engineering (2000)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Symp. on Principles of Prog. Languages, pp. 269–282. ACM Press, New York, NY (1979)
Dwyer, M.B., Hatcliff, J., Prasad, V.R., Robby: Exploiting Object Escape and Locking Information in Partial Order Reduction for Concurrent Object-Oriented Programs. Formal Methods in System Design 25(2–3) (2004)
Flanagan, C., Godefroid, P.: Dynamic Partial-Order Reduction for Model Checking Software. In: Proceedings of POPL 2005, 32nd ACM Symposium on Principles of Programming Languages, Long beach (January 2005)
Flanagan, C., Qadeer, S.: Transactions for Software Model Checking. In: Proceedings of the Workshop on Software Model Checking, pp. 338–349 (June 2003)
Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)
Gueta, G., Flanagan, C., Yahav, E., Sagiv, M.: Cartesian partial-order reduction. Technical Report TA-CS-2007-052, School of Computer Science, Tel Aviv University (2007) Available at http://www.cs.tau.ac.il/~guygueta/Cartesian.pdf
Henzinger, T., Jhala, R., Majumdar, R., Sutre, G.: Lazy Abstraction. In: Proc. of the 29th ACM Symposium on Principles of Programming Languages, Portland, pp. 58–70. ACM Press, New York (2002)
Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual
Holzmann, G.J., Peled, D.: An improvement in formal verification. In: Proceedings of the 7th IFIP WG6 International Conference on Formal Description Techniques VII, pp. 197–211. Chapman & Hall Ltd, London, UK (1995)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Peled, D.: All from one, one for all: on model checking using representatives. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 409–423. Springer, Heidelberg (1993)
Stoller, S.D.: Model-Checking Multi-Threaded Distributed Java Programs. International Journal on Software Tools for Technology Transfer 4(1), 71–91 (2002)
Stoller, S.D., Cohen, E.: Optimistic Synchronization-Based State-Space Reduction. In: Garavel, H., Hatcliff, J. (eds.) ETAPS 2003 and TACAS 2003. LNCS, vol. 2619, pp. 489–504. Springer, Heidelberg (2003)
Valmari, A.: Stubborn sets for reduced state space generation. In: 10th Conference on Applications and Theory of Petri Nets, pp. 491–515 (1991)
Valmari, A.: Stubborn sets for reduced state space generation. In: Rozenberg, G. (ed.) Advances in Petri Nets 1990. LNCS, vol. 483, pp. 491–515. Springer, Heidelberg (1991)
Yahav, E.: Verifying safety properties of concurrent Java programs using 3-valued logic. In: Proc. Symp. on Principles of Prog. Languages, pp. 27–40. ACM Press, New York (2001)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gueta, G., Flanagan, C., Yahav, E., Sagiv, M. (2007). Cartesian Partial-Order Reduction. In: Bošnački, D., Edelkamp, S. (eds) Model Checking Software. SPIN 2007. Lecture Notes in Computer Science, vol 4595. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73370-6_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-73370-6_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73369-0
Online ISBN: 978-3-540-73370-6
eBook Packages: Computer ScienceComputer Science (R0)