Guard-based partial-order reduction

  • Alfons LaarmanEmail author
  • Elwin Pater
  • Jaco van de Pol
  • Henri Hansen
SPIN 2013


This paper aims at making partial-order reduction independent of the modeling language. To this end, we present a guard-based method which is a general-purpose implementation of the stubborn set method. We approach the implementation through so-called necessary enabling sets and do-not-accord sets, and give an algorithm suitable for an abstract model checking interface. We also introduce necessary disabling sets and heuristics to produce smaller stubborn sets and thus better reduction at low costs. We explore the effect of these methods using an implementation in the model checker LTSmin. We experiment with partial-order reduction on a number of Promela models, on benchmarks from the BEEM database in the DVE language, and with several with LTL properties. The efficiency of the heuristic algorithm is established by a comparison to the subset-minimal Deletion algorithm and the simple closure algorithm. We also compare our results to the Spin model checker. While the reductions take longer, they are consistently better than Spin ’s ample set and often surpass the upper bound for the process-based ample sets, established empirically earlier on BEEM models.


Model checking Partial order reduction Stubborn set Necessary disabling set Heuristic search Ample set 



We are grateful to Antti Valmari, Patrice Godefroid and Dragan Bošnački for useful discussions and advice.


  1. 1.
    Alur, R., Brayton, R.K., Henzinger, T.A., Qadeer, S., Rajamani, S.K.: Partial-order reduction in symbolic state space exploration. In: Grumberg, Orna (ed.) CAV, vol. 1254 of LNCS, pp. 340–351. Springer, New York (1997)Google Scholar
  2. 2.
    van der Berg, F.I., Laarman, A.W.: SpinS: Extending LTSmin with Promela through SpinJa. In: PDMC 2012, London, UK, ENTCS. Springer, New York (2012)Google Scholar
  3. 3.
    Blom, S.C.C., van de Pol, J.C., Weber, M.: LTSmin: distributed and symbolic reachability. In: CAV, vol. 6174 of LNCS, pp. 354–359. Springer, New York (2010)Google Scholar
  4. 4.
    Chu, D.H., Jaffar, J.: A framework to synergize partial order reduction with state interpolation. In: Yahav, E. (ed.) HVC, vol. 8855 of LNCS, pp. 171–187. Springer, New York (2014)Google Scholar
  5. 5.
    Clarke, E.M.: The birth of model checking. In: 25 Years of Model Checking, pp. 1–26. Springer, Berlin (2008)Google Scholar
  6. 6.
    Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory efficient algorithms for the verification of temporal properties. In: CAV, vol. 531 of LNCS, pp. 233–242. Springer, New York (1990)Google Scholar
  7. 7.
    Dong, Y., Du, X., Ramakrishna, Y.S., Ramakrishnan, C.R., Ramakrishnan, I.V., Smolka, S.A., Sokolsky, O., Stark, E.W.: Fighting livelock in the i-protocol: a comparative study of verification tools. In: Rance Cleaveland, W. (ed.) TACAS, vol. 1579 of LNCS, pp. 74–88. Springer, New York (1999)Google Scholar
  8. 8.
    Groote, J.F., et al.: The mCRL2 toolset. In: Proceedings of the International Workshop on Advanced Software Development Tools and Techniques, WASDeTT (2008)Google Scholar
  9. 9.
    Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved multi-core nested depth-first search. In: ATVA, LNCS 7561, pp. 269–283. Springer, New York (2012)Google Scholar
  10. 10.
    Evangelista, S., Pajault, C.: Solving the ignoring problem for partial order reduction. STTT 12, 155–170 (2010)CrossRefGoogle Scholar
  11. 11.
    Geldenhuys, J., Hansen, H., Valmari, A.: Exploring the scope for partial order reduction. In: ATVA’09, LNCS, pp. 39–53. Springer, New York (2009)Google Scholar
  12. 12.
    Godefroid, P.: Using partial orders to improve automatic verification methods. In: CAV, vol. 531 of LNCS, pp. 176–185. Springer, New York (1990)Google Scholar
  13. 13.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. Springer, New York (1996)CrossRefzbMATHGoogle Scholar
  14. 14.
    Godefroid, P., Pirottin, D.: Refining dependencies improves partial-order verification methods. In: CAV, vol. 697 of LNCS, pp. 438–449. Springer, New York (1993)Google Scholar
  15. 15.
    Godefroid, P., Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. FMSD 2, 149–164 (1993)zbMATHGoogle Scholar
  16. 16.
    Hansen, H., Lin, S.W., Liu, Y., Nguyen, T.K., Sun, J.: Diamonds are a girl’s best friend: Partial order reduction for timed automata with abstractions. In: Biere, A., Bloem, R. (eds.) CAV, vol. 8559 of LNCS, pp. 391–406. Springer, New York (2014)Google Scholar
  17. 17.
    Holzmann, G.J.: The model checker SPIN. IEEE TSE 23, 279–295 (1997)Google Scholar
  18. 18.
    Holzmann, G.J., Peled, D.: An improvement in formal verification. In: IFIP WG6.1 ICFDT VII, pp. 197–211. Chapman & Hall Ltd, London (1995)Google Scholar
  19. 19.
    Holzmann, G.J., Peled, D., Yannakakis, M.: On nested depth first search. In: SPIN, pp. 23–32. American Mathematical Society (1996)Google Scholar
  20. 20.
    Kahlon, V., Wang, C., Gupta, A.: Monotonic partial order reduction: an optimal symbolic partial order reduction technique. In: CAV, LNCS, pp. 398–413. Springer, New York (2009)Google Scholar
  21. 21.
    Katz, S., Peled, D.: An efficient verification method for parallel and distributed programs. In: REX Workshop, vol. 354 of LNCS, pp. 489–507. Springer, Berlin (1988)Google Scholar
  22. 22.
    Kokkarinen, I., Peled, D., Valmari, A.: Relaxed visibility enhances partial order reduction. In: Grumberg, O. (ed.) CAV, vol. 1254 of LNCS, pp. 328–339. Springer, New York (1997)Google Scholar
  23. 23.
    Konnov, I., Letichevsky Jr, O.A.: Model checking GARP protocol using Spin and VRS. International Workshop on Automata, Algorithms, Information Technologies (2010)Google Scholar
  24. 24.
    Laarman, A.W., Wijs, A.J.: Partial-order reduction for multi-core LTL model checking. In: Yahav, V. (ed.) HVC 2014, vol. 8855 of LNCS, pp. 267–283. Springer, New York (2014)Google Scholar
  25. 25.
    Laarman, A.W.: Scalable multi-core model checking. PhD thesis, University of Twente (2014)Google Scholar
  26. 26.
    Laarman, A.W., Fárago, D.: Improved on-the-fly livelock detection. In: NFM, accepted for publication in LNCS. Springer, New York (2013)Google Scholar
  27. 27.
    Laarman, A.W., Olesen, M.C., Dalsgaard, A.E., Larsen, K.G., van de Pol, J.C.: Multi-core emptiness checking of timed Büchi automata using inclusion abstraction. In: Sharygina, N., Veith, H. (eds.) CAV, vol. 8044 of LNCS, pp. 968–983. Springer, New York (2013)Google Scholar
  28. 28.
    Laarman, A.W., Pater, E., van de Pol, J.C., Weber, M.: Guard-based partial-order reduction. In: Bartocci, E., Ramakrishnan, C.R. (eds.) Model Checking Software, vol. 7976 of LNCS, pp. 227–245. Springer, New York (2013)CrossRefGoogle Scholar
  29. 29.
    Laarman, A.W., van de Pol, J.C., Weber, M.: Parallel recursive state compression for free. In: SPIN, LNCS, pp. 38–56. Springer, New York (2011)Google Scholar
  30. 30.
    Laarman, A.W., van de Pol, J.C., Weber, M.: Multi-core LTSmin: marrying modularity and scalability. In: NFM, LNCS 6617, pp. 506–511. Springer, New York (2011)Google Scholar
  31. 31.
    Larsen, K., Pettersson, P., Yi, W.: Uppaal in a Nutshell. STTT 1, 134–152 (1997)CrossRefzbMATHGoogle Scholar
  32. 32.
    Lehmann, A., Lohmann, N., Wolf, K.: Stubborn sets for simple linear time properties. In: Application and Theory of Petri Nets, vol. 7347 of LNCS, pp. 228–247. Springer, New York (2012)Google Scholar
  33. 33.
    Meijer, J., Kant, G., Blom, S.C.C., van de Pol, J.C.: Read, write and copy dependencies for symbolic model checking. In: Yahav, E. (ed.) Hardware and Software: Verification and Testing, vol. 8855 of LNCS, pp. 204–219. Springer, New York (2014)Google Scholar
  34. 34.
    Overman, W.T.: Verification of concurrent systems: function and timing. PhD thesis, University of California, Los Angeles (1981, AAI8121023)Google Scholar
  35. 35.
    Peng, S.O., Thomas, E.M.: Filtered beam search in scheduling? Int. J. Prod. Res. 26(1), 35–62 (1988)CrossRefGoogle Scholar
  36. 36.
    Pater, E.: Partial order reduction for PINS. Master’s thesis (2011)Google Scholar
  37. 37.
    Pelánek, R.: BEEM: benchmarks for explicit model checkers. In: Proceedings of SPIN Workshop, volume 4595 of LNCS, pp. 263–267. Springer, New York (2007)Google Scholar
  38. 38.
    Peled, D.: All from one, one for all: on model checking using representatives. In: CAV, pp. 409–423. Springer, New York (1993)Google Scholar
  39. 39.
    Peled, D.: Combining partial order reductions with on-the-fly model-checking. In: CAV, vol. 818 of LNCS, pp. 377–390. Springer, New York (1994)Google Scholar
  40. 40.
    Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57. IEEE Computer Society (1977)Google Scholar
  41. 41.
    Schwoon, S., Esparza, J.: A note on on-the-fly verification algorithms. In: TACAS, vol. 3440 of LNCS, pp. 174–190. Springer, New York (2005)Google Scholar
  42. 42.
    Sharma, A.: End to end verification and validation with SPIN. CoRR (2013, abs/1302.4796)Google Scholar
  43. 43.
    Siegel, S.F.: Reexamining two results in partial order reduction. Technical report, University of Delaware (2011)Google Scholar
  44. 44.
    Siegel, S.F.: Transparent partial order reduction. FMSD 40(1), 1–19 (2012)zbMATHGoogle Scholar
  45. 45.
    Valmari, A.: Error detection by reduced reachability graph generation. In: APN, pp. 95–112 (1988)Google Scholar
  46. 46.
    Valmari, A.: Heuristics for lazy state generation speeds up analysis of concurrent systems. In: STeP-88, vol. 2, pp. 640–650. Helsinki (1988)Google Scholar
  47. 47.
    Valmari, A.: Eliminating redundant interleavings during concurrent program verification. In: PARLE, vol. 366 of LNCS, pp. 89–103. Springer, New York (1989)Google Scholar
  48. 48.
    Valmari A.: A stubborn attack on state explosion. In: CAV, LNCS, pp. 156–165. Springer, New York (1991)Google Scholar
  49. 49.
    Valmari, A.: Stubborn sets for reduced state space generation. In: ICATPN/APN’90, pp. 491–515. Springer, New York (1991)Google Scholar
  50. 50.
    Valmari, A.: The state explosion problem. In: LPN, pp. 429–528. Springer, New York (1998)Google Scholar
  51. 51.
    Valmari, A., Hansen, H.: Can stubborn sets be optimal? In: Lilius, J., Penczek, W. (eds.) ATPN, vol. 6128 of LNCS, pp. 43–62. Springer, New York (2010)Google Scholar
  52. 52.
    Valmari, A.: Stubborn set methods for process algebras. In: DIMACS Workshop on Partial Order Methods in Verification, pp. 213–231. AMS Press Inc, Brooklyn (1997)Google Scholar
  53. 53.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: LICS, pp. 332–344. IEEE (1986)Google Scholar
  54. 54.
    Varpaaniemi, K.: Finding small stubborn sets automatically. Proceedings of the Eleventh International Symposium on Computer and Information Sciences, ISCIS XI, pp. 133–142. Middle East Technical University, Ankara (1996)Google Scholar
  55. 55.
    Varpaaniemi, K.: On the stubborn set method in reduced state space generation. PhD thesis, Helsinki University of Technology (1998)Google Scholar
  56. 56.
    Wehrle, M., Helmert, M.: Efficient stubborn sets: generalized algorithms and selection strategies. In: International Conference on Automated Planning and Scheduling. AAAI Publications, Canada (2014)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Alfons Laarman
    • 1
    • 2
    Email author
  • Elwin Pater
    • 2
  • Jaco van de Pol
    • 2
  • Henri Hansen
    • 3
  1. 1.Formal Methods in Systems EngineeringVienna University of TechnologyViennaAustria
  2. 2.Formal Methods and ToolsUniversity of TwenteEnschedeThe Netherlands
  3. 3.Department of MathematicsTampere University of TechnologyTampereFinland

Personalised recommendations