Advertisement

Guard-Based Partial-Order Reduction

  • Alfons Laarman
  • Elwin Pater
  • Jaco van de Pol
  • Michael Weber
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7976)

Abstract

This paper aims at making partial-order reduction independent of the modeling language. Our starting point is the stubborn set algorithm of Valmari (see also Godefroid’s thesis), which relies on necessary enabling sets. We generalise it to a guard-based algorithm, which can be implemented on top of an abstract model checking interface.

We extend the generalised algorithm by introducing necessary disabling sets and adding a heuristics to improve state space reduction. The effect of the changes to the algorithm are measured using an implementation in the LTSmin model checking toolset. We experiment with partial-order reduction on a number of Promela models, some with LTL properties, and on benchmarks from the BEEM database in the DVE language.

We compare our results to the Spin model checker. While the reductions take longer, they are consistently better than Spin’s ample set and even often surpass the ideal upper bound for the ample set, as established empirically by Geldenhuys, Hansen and Valmari on BEEM models.

Keywords

Model Check Linear Temporal Logic Language Module Program Counter Heuristic Selection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    van der Berg, F.I., Laarman, A.W.: SpinS: Extending LTSmin with Promela through SpinJa. In: PDMC 2012, London, UK. ENTCS, Spinger (September 2012)Google Scholar
  2. 2.
    Blom, S., van de Pol, J., Weber, M.: LTSmin: Distributed and symbolic reachability. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 354–359. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Clarke, E.M.: The birth of model checking. In: 25 Years of Model Checking, pp. 1–26. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Courcoubetis, C., Vardi, M., Wolper, P., Yannakakis, M.: Memory Efficient Algorithms for the Verification of Temporal Properties. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 233–242. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  5. 5.
    Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved Multi-core Nested Depth-First Search. In: Chakraborty, S., Mukund, M. (eds.) ATVA 2012. LNCS, vol. 7561, pp. 269–283. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  6. 6.
    Evangelista, S., Pajault, C.: Solving the Ignoring Problem for Partial Order Reduction. STTF 12, 155–170 (2010)CrossRefGoogle Scholar
  7. 7.
    Geldenhuys, J., Hansen, H., Valmari, A.: Exploring the scope for partial order reduction. In: Liu, Z., Ravn, A.P. (eds.) ATVA 2009. LNCS, vol. 5799, pp. 39–53. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Godefroid, P.: Using Partial Orders to Improve Automatic Verification Methods. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 176–185. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  9. 9.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. Springer, Secaucus (1996)CrossRefGoogle Scholar
  10. 10.
    Godefroid, P., Pirottin, D.: Refining dependencies improves partial-order verification methods (extended abstract). In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 438–449. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  11. 11.
    Godefroid, P., Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. FMSD 2, 149–164 (1993)zbMATHGoogle Scholar
  12. 12.
    Groote, J.F., Keiren, J., Mathijssen, A., Ploeger, B., Stappers, F., Tankink, C., Usenko, Y., van Weerdenburg, M., Wesselink, W., Willemse, T., van der Wulp, J.: The mCRL2 toolset. WASDeTT (2008)Google Scholar
  13. 13.
    Holzmann, G.J.: The model checker SPIN. IEEE TSE 23, 279–295 (1997)Google Scholar
  14. 14.
    Holzmann, G.J., Peled, D.: An Improvement in Formal Verification. In: IFIP WG6.1 ICFDT VII, pp. 197–211. Chapman & Hall, Ltd. (1995)Google Scholar
  15. 15.
    Holzmann, G.J., Peled, D., Yannakakis, M.: On Nested Depth First Search. In: SPIN, pp. 23–32. American Mathematical Society (1996)Google Scholar
  16. 16.
    Katz, S., Peled, D.: An efficient verification method for parallel and distributed programs. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency. LNCS, vol. 354, pp. 489–507. Springer, Heidelberg (1989)CrossRefGoogle Scholar
  17. 17.
    Laarman, A., Faragó, D.: Improved On-The-Fly Livelock Detection. In: Brat, G., Rungta, N., Venet, A. (eds.) NFM 2013. LNCS, vol. 7871, pp. 32–47. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  18. 18.
    Laarman, A., van de Pol, J., Weber, M.: Parallel Recursive State Compression for Free. In: Groce, A., Musuvathi, M. (eds.) SPIN Workshops 2011. LNCS, vol. 6823, pp. 38–56. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    Laarman, A., van de Pol, J., Weber, M.: Multi-Core LTSmin: Marrying Modularity and Scalability. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 506–511. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Overman, W.T.: Verification of concurrent systems: function and timing. PhD thesis, University of California, Los Angeles (1981), AAI8121023Google Scholar
  21. 21.
    Pater, E.: Partial Order Reduction for PINS, Master’s thesis (March 2011)Google Scholar
  22. 22.
    Pelánek, R.: BEEM: Benchmarks for explicit model checkers. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 263–267. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  23. 23.
    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)CrossRefGoogle Scholar
  24. 24.
    Peled, D.: Combining partial order reductions with on-the-fly model-checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 377–390. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  25. 25.
    Peled, D.: Combining Partial Order Reductions with On-the-Fly Model-Checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 377–390. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  26. 26.
    Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57. IEEE Computer Society (1977)Google Scholar
  27. 27.
    Schwoon, S., Esparza, J.: A Note on On-the-Fly Verification Algorithms. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 174–190. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  28. 28.
    Valmari, A.: Error Detection by Reduced Reachability Graph Generation. In: APN, pp. 95–112 (1988)Google Scholar
  29. 29.
    Valmari, A.: Eliminating Redundant Interleavings During Concurrent Program Verification. In: Odijk, E., Rem, M., Syre, J.-C. (eds.) PARLE 1989. LNCS, vol. 366, pp. 89–103. Springer, Heidelberg (1989)CrossRefGoogle Scholar
  30. 30.
    Valmari, A.: A Stubborn Attack On State Explosion. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 156–165. Springer, Heidelberg (1992)Google Scholar
  31. 31.
    Valmari, A.: Stubborn Sets for Reduced State Space Generation. In: Rozenberg, G. (ed.) APN 1990. LNCS, vol. 483, pp. 491–515. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  32. 32.
    Valmari, A.: The State Explosion Problem. In: Reisig, W., Rozenberg, G. (eds.) APN 1998. LNCS, vol. 1491, pp. 429–528. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  33. 33.
    Valmari, A., Hansen, H.: Can Stubborn Sets Be Optimal? In: Lilius, J., Penczek, W. (eds.) PETRI NETS 2010. LNCS, vol. 6128, pp. 43–62. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  34. 34.
    Vardi, M.Y., Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. In: LICS, pp. 332–344. IEEE (1986)Google Scholar
  35. 35.
    Varpaaniemi, K.: On the Stubborn Set Method in Reduced State Space Generation. PhD thesis, Helsinki University of Technology (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Alfons Laarman
    • 1
  • Elwin Pater
    • 1
  • Jaco van de Pol
    • 1
  • Michael Weber
    • 1
  1. 1.Formal Methods and ToolsUniversity of TwenteThe Netherlands

Personalised recommendations