Skip to main content
Log in

Abstract

Partial order methods alleviate state explosion by considering only a subset of actions in each constructed state. The choice of the subset depends on the properties that the method promises to preserve. Many methods have been developed ranging from deadlock-preserving to CTL\(^*\)-preserving and divergence-sensitive branching bisimilarity preserving. The less the method preserves, the smaller state spaces it constructs. Fair testing equivalence unifies deadlocks with livelocks that cannot be exited and ignores the other livelocks. It is the weakest congruence that preserves whether or not the system may enter a livelock that it cannot leave. We prove that a method that was designed for trace equivalence also preserves fair testing equivalence. We demonstrate its effectiveness on a protocol with a connection and data transfer phase. This is the first practical partial order method that deals with a practical fairness assumption.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. Abdulla, P.A., Aronis, S., Jonsson, B., Sagonas, K.F.: Optimal dynamic partial order reduction. In: Jagannathan, S., Sewell, P. (eds.) The 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’14, San Diego, CA, USA, 20–21 January 2014, pp. 373–384. ACM (2014)

  2. Bartlett, K.A., Scantlebury, R.A., Wilkinson, P.T.: A note on reliable full-duplex transmission over half-duplex links. Commun. ACM 12(5), 260–261 (1969)

    Article  Google Scholar 

  3. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  4. Esparza, J., Heljanko, K.: Unfoldings—A Partial-Order Approach to Model Checking. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin (2008)

    MATH  Google Scholar 

  5. Evangelista, S., Pajault, C.: Solving the ignoring problem for partial order reduction. STTT 12(2), 155–170 (2010)

    Article  Google Scholar 

  6. Eve, J., Kurki-Suonio, R.: On computing the transitive closure of a relation. Acta Inf. 8, 303–314 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  7. Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: Palsberg, J., Abadi, M. (eds.) Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, 12–14 January 2005, pp. 110–121. ACM (2005)

  8. Gabow, H.N.: Path-based depth-first search for strong and biconnected components. Inf. Process. Lett. 74(3–4), 107–114 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  9. Gerth, R., Kuiper, R., Peled, D.A., Penczek, W.: A partial order approach to branching time logic model checking. In: Third Israel Symposium on Theory of Computing and Systems, ISTCS 1995, Tel Aviv, Israel, 4–6 January 1995, Proceedings, pp. 130–139. IEEE Computer Society (1995)

  10. Godefroid, P.: Using partial orders to improve automatic verification methods. In: Clarke, E.M., Kurshan, R.P. (eds.) Computer-Aided Verification, Proceedings of a DIMACS Workshop 1990, New Brunswick, New Jersey, USA, 18–21 June 1990, Volume 3 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pp. 321–340. DIMACS/AMS (1990)

  11. Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems—An Approach to the State-Explosion Problem, Volume 1032 of Lecture Notes in Computer Science. Springer, Berlin (1996)

    MATH  Google Scholar 

  12. Kastenberg, H., Rensink, A.: Dynamic partial order reduction using probe sets. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008—Concurrency Theory, 19th International Conference, CONCUR 2008, Toronto, Canada, 19–22 August 2008. Proceedings, Volume 5201 of Lecture Notes in Computer Science, pp. 233–247. Springer (2008)

  13. Laarman, A., Pater, E., van de Pol, J., Hansen, H.: Guard-based partial-order reduction. STTT 18(4), 427–448 (2016)

    Article  Google Scholar 

  14. Lauterburg, S., Karmani, R.K., Marinov, D., Agha, G.: Evaluating ordering heuristics for dynamic partial-order reduction techniques. In: Rosenblum, D.S., Taentzer, G. (eds.) Fundamental Approaches to Software Engineering, 13th International Conference, FASE 2010, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2010, Paphos, Cyprus, 20–28 March 2010. Proceedings, Volume 6013 of Lecture Notes in Computer Science, pp. 308–322. Springer (2010)

  15. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems—Specification. Springer, Berlin (1992)

    Book  MATH  Google Scholar 

  16. Mazurkiewicz, A.W.: Trace theory. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) Petri Nets: Applications and Relationships to Other Models of Concurrency, Advances in Petri Nets 1986, Part II, Proceedings of an Advanced Course, Bad Honnef, 8–19 September 1986, Volume 255 of Lecture Notes in Computer Science, pp. 279–324. Springer (1986)

  17. McMillan, K.L.: Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In: von Bochmann, G., Probst, D.K. (eds.) Computer Aided Verification, Fourth International Workshop, CAV ’92, Montreal, Canada, June 29–July 1, 1992, Proceedings, Volume 663 of Lecture Notes in Computer Science, pp. 164–177. Springer (1992)

  18. Milner, R.: Communication and Concurrency. PHI Series in Computer Science. Prentice Hall, Upper Saddle River (1989)

    Google Scholar 

  19. Peled, D.A.: All from one, one for all: on model checking using representatives. In: Courcoubetis, C. (ed.) Computer Aided Verification, 5th International Conference, CAV ’93, Elounda, Greece, June 28–July 1, 1993, Proceedings, Volume 697 of Lecture Notes in Computer Science, pp. 409–423. Springer (1993)

  20. Peled, D.A.: Partial order reduction: Linear and branching temporal logics and process algebras. In: Peled, D.A., Pratt, V.R., Holzmann, G.J. (eds.) Partial Order Methods in Verification, Proceedings of a DIMACS Workshop, Princeton, New Jersey, USA, 24–26 July 1996, Volume 29 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pp. 233–258. DIMACS/AMS (1996)

  21. Rensink, A., Vogler, W.: Fair testing. Inf. Comput. 205(2), 125–198 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  22. Rodríguez, C., Sousa, M., Sharma, S., Kroening, D.: Unfolding-based partial order reduction. In: Aceto, L., de Frutos-Escrig, D. (eds.) 26th International Conference on Concurrency Theory, CONCUR 2015, Madrid, Spain, 1–4 September 2015, Volume 42 of LIPIcs, pp. 456–469. Schloss Dagstuhl—Leibniz-Zentrum fuer Informatik (2015)

  23. Roscoe, A.W.: Understanding Concurrent Systems. Texts in Computer Science. Springer, Berlin (2010)

    Book  Google Scholar 

  24. Tarjan, R.E.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(2), 146–160 (1972)

    Article  MathSciNet  MATH  Google Scholar 

  25. Valmari, A.: Error detection by reduced reachability graph generation. In: Proceedings of the 9th European Workshop on Application and Theory of Petri Nets, pp. 95–122 (1988)

  26. Valmari, A.: State space generation: efficiency and practicality. Tampere University of Technology Publications 55. Dr. Techn. Thesis (1988)

  27. Valmari, A.: Alleviating state explosion during verification of behavioural equivalence. Technical report, Department of Computer Science, University of Helsinki, Helsinki, Finland. Report A-1992-4 (1992)

  28. Valmari, A.: The state explosion problem. In: Reisig, W., Rozenberg, G. (eds.) Lectures on Petri Nets I: Basic Models, Advances in Petri Nets, the Volumes are Based on the Advanced Course on Petri Nets, Held in Dagstuhl, September 1996, Volume 1491 of Lecture Notes in Computer Science, pp. 429–528. Springer (1996)

  29. Valmari, A.: Stubborn set methods for process algebras. In: Peled, D.A., Pratt, V.R., Holzmann, G.J. (eds.) Partial Order Methods in Verification, Proceedings of a DIMACS Workshop, Princeton, New Jersey, USA, 24–26 July 1996, Volume 29 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pp. 213–232. DIMACS/AMS (1996)

  30. Valmari, A.: On constructibility and unconstructibility of LTS operators from other LTS operators. Acta Inf. 52(2–3), 207–234 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  31. Valmari, A.: A state space tool for concurrent system models expressed in C++. In: Nummenmaa, J., Sievi-Korte, O., Mäkinen, E. (eds.) Proceedings of the 14th Symposium on Programming Languages and Software Tools (SPLST’15), Tampere, Finland, 9–10 October 2015, Volume 1525 of CEUR Workshop Proceedings, pp. 91–105. CEUR-WS.org (2015)

  32. Valmari, A.: The congruences below fair testing with initial stability. In: Desel, J., Yakovlev, A. (eds.) 16th International Conference on Application of Concurrency to System Design, ACSD 2016, Torun, Poland, 19–24 June 2016, pp. 25–34. IEEE Computer Society (2016)

  33. Valmari, A.: More stubborn set methods for process algebras. In: Gibson-Robinson, T., Hopcroft, P.J., Lazic, R. (eds.) Concurrency, Security, and Puzzles—Essays Dedicated to Andrew William Roscoe on the Occasion of His 60th Birthday, Volume 10160 of Lecture Notes in Computer Science, pp. 246–271. Springer (2017)

  34. Valmari, A.: Stop it, and be stubborn!. ACM Trans. Embed. Comput. Syst. 16(2), 46:1–46:26 (2017)

    Article  Google Scholar 

  35. Valmari, A.: Stubborn sets with frozen actions. In: Hague, M., Potapov, I. (eds.) Reachability Problems, 11th International Workshop, RP 2017, Volume 10506 of Lecture Notes in Computer Science, pp. 160–175 (2017)

  36. Valmari, A., Hansen, H.: Can stubborn sets be optimal? Fundam. Inform. 113(3–4), 377–397 (2011)

    MathSciNet  MATH  Google Scholar 

  37. Valmari, A., Hansen, H.: Stubborn set intuition explained. In: Cabac, L., Kristensen, L.M., Rölke, H. (eds.) Proceedings of the International Workshop on Petri Nets and Software Engineering 2016, Including the International Workshop on Biological Processes & Petri Nets 2016 Co-located with the 37th International Conference on Application and Theory of Petri Nets and Concurrency Petri Nets 2016 and the 16th International Conference on Application of Concurrency to System Design ACSD 2016, Toruń, Poland, 20–21 June 2016, Volume 1591 of CEUR Workshop Proceedings, pp. 213–232. CEUR-WS.org (2016)

  38. Valmari, A., Karsisto, K., Setälä, M.: Visualisation of reduced abstracted behaviour as a design tool. In: 4th Euromicro Workshop on Parallel and Distributed Processing (PDP ’96), 24–26 January 1996, Portugal, pp. 187–195. IEEE Computer Society (1996)

  39. Valmari, A., Vogler, W.: Fair testing and stubborn sets. In: Bosnacki, D., Wijs, A. (eds.) Model Checking Software—23rd International Symposium, SPIN 2016, Co-located with ETAPS 2016, Eindhoven, The Netherlands, 7–8 April 2016, Proceedings, Volume 9641 of Lecture Notes in Computer Science, pp. 225–243. Springer (2016)

  40. Vogler, W.: Modular Construction and Partial Order Semantics of Petri Nets, Volume 625 of Lecture Notes in Computer Science. Springer, Berlin (1992)

    Book  Google Scholar 

Download references

Acknowledgements

We thank Henri Hansen and the reviewers of the conference and journal version for their comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antti Valmari.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Valmari, A., Vogler, W. Fair testing and stubborn sets. Int J Softw Tools Technol Transfer 20, 589–610 (2018). https://doi.org/10.1007/s10009-017-0481-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-017-0481-2

Keywords

Navigation