Abstract
While stateless model checking avoids the memory blow-up problem by not recording the search history, runtime becomes a major limiting factor. In this paper, we present distributed dynamic partial order reduction (DDPOR) which can speed up stateless model checking using computer clusters, and get the benefit of dynamic partial order reduction (DPOR). The experiments show that DDPOR can give out nearly linear (with respect to the number of CPUs) speedup on realistic multithreaded programs, comparing with sequential stateless model checking that uses DPOR.
Similar content being viewed by others
References
Godefroid, P.: Model Checking for Programming Languages using Verisoft. In: POPL, pp. 174–186 (1997)
Holzmann G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2004)
Robby, E.R., Dwyer, M.B., Hatcliff, J.: Bogor: an extensible and highly-modular software model checking framework. In: ESEC/SIGSOFT FSE, pp. 267–276 (2003)
Henzinger, T.A., Jhala, R., Majumdar, R.: Race checking by context inference. In: PLDI ’04: Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation, pp. 1–13. ACM Press, New York, NY, USA (2004)
Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Xie, Y.: Zing: A model checker for concurrent software. In: Computer Aided Verification, 16th International Conference. Lecture Notes in Computer Science, vol. 3114, pp. 484–487. Springer (2004)
Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: Palsberg, J., Abadi, M. (eds.) POPL, pp. 110–121. ACM (2005)
Musuvathi, M., Qadeer, S.: Iterative context bounding for systematic testing of multithreaded programs. In: Ferrante, J., McKinley, K.S. (eds.) PLDI, pp. 446–455. ACM (2007)
Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. Springer (1996)
Yang, Y., Chen, X., Gopalakrishnan, G.: UUCS-08-004: Inspect: A Runtime Model Checker for Multithreaded C Programs. Technical report (2008)
Snir M., Otto S.: MPI-The Complete Reference: The MPI Core. MIT Press, Cambridge (1998)
Stern, U., Dill, D.L.: Parallelizing the Murhi Verifier. In: Grumberg, O. (ed.) Computer Aided Verification, 9th International Conference, CAV ’97, Haifa, Israel, June 22–25, 1997, Proceedings. Lecture Notes in Computer Science, vol. 1254, pp. 256–278. Springer (1997)
Melatti, I., Palmer, R., Sawaya, G., Yang, Y., Kirby, R.M., Gopalakrishnan, G.: Parallel and distributed model checking in Eddy. In: SPIN, pp. 108–125(2006)
Sivaraj, H., Gopalakrishnan, G.: Random walk based heuristic algorithms for distributed memory model checking. Electr. Notes Theor. Comput. Sci. 89(1) (2003)
Kumar R., Mercer E.G.: Load balancing parallel explicit state model checking. Electr. Notes Theor. Comput. Sci. 128(3), 19–34 (2005)
Holzmann, G., Bosnacki, D.: Multi-core model checking with Spin (2007)
Brim, L., Cerna, I., Moravec, P., Simsa, J.: Distributed partial order reduction of state spaces. In: PDMC, vol. 1 (2004)
Palmer, R., Gopalakrishnan, G.: Partial order reduction assisted parallel model checking. In: PDMC (2002)
Palmer, R., Gopalakrishnan, G.: A distributed partial order reduction algorithm. In: FORTE ’02: Proceedings of the 22nd IFIP WG 6.1 International Conference Houston on Formal Techniques for Networked and Distributed Systems, pp. 370. Springer, London, UK (2002)
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported in part by NSF award CNS00509379, Microsoft, and SRC Contract 2005-TJ-1318.
Rights and permissions
About this article
Cite this article
Yang, Y., Chen, X., Gopalakrishnan, G. et al. Distributed dynamic partial order reduction. Int J Softw Tools Technol Transfer 12, 113–122 (2010). https://doi.org/10.1007/s10009-010-0144-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-010-0144-z