Skip to main content

Stateful Dynamic Partial-Order Reduction

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4260))

Included in the following conference series:

Abstract

State space explosion is the main obstacle for model checking concurrent programs. Among the solutions, partial-order reduction (POR), especially dynamic partial-order reduction (DPOR) [1], is one of the promising approaches. However, DPOR only supports stateless explorations for acyclic state spaces. In this paper, we present the stateful DPOR approach for may-cyclic state spaces, which naturally combines DPOR with stateful model checking to achieve more efficient reduction. Its basic idea is to summarize the interleaving information for all transition sequences starting from each visited state, and infer the necessary partial-order information based on the summarization when a visited state is encountered again. Experiment results on two programs coming from [1] show that both of the costs of space and time could be remarkably reduced by stateful DPOR with rather reasonable extra memory overhead.

Partially supported by the National NSF of China under grant No. 60233020, National Hi-Tech Programme of China under the grant 2005AA113130 and Program for New Century Excellent Talents in University under grant No. NCET-04-0996.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: Proceedings of POPL 2005, Long Beach, California, USA (2005)

    Google Scholar 

  2. Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)

    Google Scholar 

  3. Valmari, A.: Stubborn sets for reduced state space generation. In: Advances in Petri Nets 1990, pp. 491–515 (1991)

    Google Scholar 

  4. Varpaaniemi, K.: Minimizing the Number of Successor States in the Stubborn Set Method. Journal of Fundamental Informatics 51(1-2), 215–234 (2001)

    MathSciNet  Google Scholar 

  5. Peled, D.: Combining partial order reductions with on-the-fly model checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818. Springer, Heidelberg (1994)

    Google Scholar 

  6. Holzmann, G.J., Peled, D.: An improvement in formal verification. In: Formal Descriptions Techniques VII, FORTE 1994. Chapman & Hall, Boca Raton (1995)

    Google Scholar 

  7. Dingel, J.: Computer-Assisted Assume/Guarantee Reasoning with VeriSoft. In: Proceedings of the 25th International Conference on Software Engineering (ICSE 2003), pp. 138–148 (2003)

    Google Scholar 

  8. Havelund, K., Rosu, G.: Java PathExplorer - A Runtime Verification Tool. In: Proc. ISAIRAS 2001: 6th International symposium on AI, Robotics and Automation in Space, Nordwijk, The Netherlands (2001)

    Google Scholar 

  9. Havelund, K., Rosu, G.: Monitoring Java Programs with Java PathExplorer. In: Proceedings of RV 2001: 1st Workshop on Runtime Verification, Paris, France. LNCS, vol. 55(2). Springer, Heidelberg (2001)

    Google Scholar 

  10. Ball, T., Majumdar, R., Millstein, T., Rajamani, S.K.: Automatic predicate abstraction of C programs. In: PLDI 2001: Programming Language Design and Implementation (2001)

    Google Scholar 

  11. Ball, T., Rajamani, S.K.: Generating abstract explanations of spurious counterexamples in C programs. Technical Report MSR-TR-2002-09, Microsoft Research, Microsoft Corporation (2002)

    Google Scholar 

  12. Chaki, S., Clarke, E., Groce, A.: Modular Verification of Software Components in C. In: ACM-SIGSOFT Distinguished Paper in the 25th International Conference on Software Engineering (ICSE), pp. 385–395 (2003)

    Google Scholar 

  13. Chaki, S., Ouaknine, J., Yorav, K., Clarke, E.: Automated Compositional Abstraction Refinement for Concurrent C Programs: A Two-Level Approach. In: 2nd Workshop on Software Model Checking (SoftMC) (2003)

    Google Scholar 

  14. Chaki, S., Clarke, E., Sinha, N., Thati, P.: Automated Assume-Guarantee Reasoning for Simulation Conformance. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 534–547. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  15. Chaki, S., Ivers, J., Sharygina, N., Wallnau, K.: The ComFoRT Reasoning Framework. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 164–169. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  16. Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Zing, Y.X.: Exploiting Program Structure for Model Checking Concurrent Software. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 1–15. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  17. Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Xie, Y.: Zing: A Model Checker for Concurrent Software. MSR Technical Report: MSR-TR-2004-10 (2004)

    Google Scholar 

  18. Khurshid, S., Pasareanu, C.S., Visser, W.: Generalized symbolic execution for model checking and testing. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 553–568. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  19. Pasareanu, C.S., Visser, W.: Verification of Java Programs using Symbolic Execution and Invariant Generation. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 164–181. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  20. Qadeer, S., Rajarnani, S.K., Rehof, J.: Summarizing Procedures in Concurrent Programs. In: Proceedings of POPL 2004 (2004)

    Google Scholar 

  21. Basten, T., Bosnacki, D., Geilen, M.: Cluster-based Partial-Order Reduction. Automatic Software Engineering 11(4), 365–402 (2004)

    Article  Google Scholar 

  22. Basten, T., Bosnacki, D.: Enhancing Partial-Order Reduction via Process Clustering. In: Proceedings of Automated Software Engineering, ASE 2001. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  23. Yi, X., Wang, J., Yang, X.: Verification of C Programs using Slicing Execution. In: Proceeding of Fifth International Conference on Quality Software (QSIC 2005), Melbourne, Australia. IEEE Computer Society press, Los Alamitos (2005)

    Google Scholar 

  24. Yi, X., Wang, J., Yang, X.: Slicing Execution for Model Checking C Programs. Special Issue on Quality Software of International Journal of Software Engineering and Knowledge Engineering (accepted, 2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yi, X., Wang, J., Yang, X. (2006). Stateful Dynamic Partial-Order Reduction. In: Liu, Z., He, J. (eds) Formal Methods and Software Engineering. ICFEM 2006. Lecture Notes in Computer Science, vol 4260. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11901433_9

Download citation

  • DOI: https://doi.org/10.1007/11901433_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-47460-9

  • Online ISBN: 978-3-540-47462-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics