Skip to main content
Log in

SAT-Solving the Coverability Problem for Petri Nets

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

Net unfoldings have attracted great attention as a powerful technique for combating state space explosion in model checking, and have been applied to verification of finite state systems including 1-safe (finite) Petri nets and synchronous products of finite transition systems. Given that net unfoldings represent the state space in a distributed, implicit manner the verification algorithm is necessarily a two step process: generation of the unfolding and reasoning about it. In his seminal work McMillan (K.L. McMillan, Symbolic Model Checking. Kluwer Academic Publishers, 1993) showed that deadlock detection on unfoldings of 1-safe Petri nets is NP-complete. Since the deadlock problem on Petri nets is PSPACE-hard it is generally accepted that the two step process will yield savings (in time and space) provided the unfoldings are small.

In this paper we show how unfoldings can be extended to the context of infinite-state systems. More precisely, we show how unfoldings can be constructed to represent sets of backward reachable states of unbounded Petri nets in a symbolic fashion. Furthermore, based on unfoldings, we show how to solve the coverability problem for unbounded Petri nets using a SAT-solver. Our experiments show that the use of unfoldings, in spite of the two-step process for solving coverability, has better time and space characteristics compared to a traditional reachability based implementation that considers all interleavings for solving the coverability problem.

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.

Similar content being viewed by others

References

  1. P.A. Abdulla, P. Bjesse, and N. Eén, “Symbolic reachability analysis based on SAT-solvers,” in S. Graf and M. Schwartzbach (Eds.), Proc. TACAS '00, 6th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, Vol. 1785 of Lecture Notes in Computer Science, Springer Verlag, 2000, pp. 411-425.

  2. P.A. Abdulla, K. Čerāns, B. Jonsson, and T. Yih-Kuen, “Algorithmic analysis of programs with well quasiordered domains,” Information and Computation, Vol. 160, pp. 109-127, 2000.

    Google Scholar 

  3. P.A. Abdulla and B. Jonsson, “Ensuring completeness of symbolic verification methods for infinite-state systems,” Theoretical Computer Science, Vol. 256, Nos. 1/2, pp. 145-167, 2001.

    Google Scholar 

  4. P.A. Abdulla, B. Jonsson, M. Kindahl, and D. Peled, “A general approach to partial order reductions in symbolic verification,” in Proc. 10th Int. Conf. on Computer Aided Verification, Vol. 1427 of Lecture Notes in Computer Science, 1998, pp. 379-390.

    Google Scholar 

  5. P.A. Abdulla, M. Kindahl, and D. Peled, “An improved search strategy for Lossy Channel Systems,” in T. Mizuno, N. Shiratori, T. Hegashino, and A. Togashi (Eds.), FORTE X/PSTV XVII '97, Chapman and Hall, 1997, pp. 251-264.

  6. A. Biere, A. Cimatti, E.M. Clarke, and Y. Zhu, “Symbolic model checking without BDDs,” in Proc. TACAS '99, 5th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, Vol. 1579 of Lecture Notes in Computer Science, 1999.

  7. J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang, “Symbolic model checking: 1020 states and beyond,” Information and Computation, Vol. 98, No. 2, pp. 142-170, 1992.

    Google Scholar 

  8. E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite-state concurrent systems using temporal logic specification,” ACM Transactions on Programming Languages and Systems, Vol. 82, No. 2, pp. 244-263, 1986.

    Google Scholar 

  9. E.M. Clarke and J.M. Wing, “Formal methods: State of the art and future directions,” Computing Surveys, Vol. 28, No. 4, pp. 626-643, 1996.

    Google Scholar 

  10. L.E. Dickson, “Finiteness of the odd perfect and primitive abundant numbers with n distinct prime factors,” Amer. J. Math., Vol. 35, pp. 413-422, 1913.

    Google Scholar 

  11. J. Esparza and S. Römer, “An unfolding algorithm for synchronous products of transition systems,” in Proc. CONCUR '99, 10th Int. Conf. on Concurrency Theory, Vol. 1664 of Lecture Notes in Computer Science, Springer Verlag, 1999, pp. 2-20.

  12. J. Esparza, S. R¨omer, and W. Vogler, “An improvement of McMillan's unfolding algorithm,” in Proc. TACAS '96, 2th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, Vol. 1055 of Lecture Notes in Computer Science, Springer Verlag, 1996, pp. 87-106.

  13. A. Finkel and Ph. Schnoebelen, “Well-structured transition systems everywhere!” Theoretical Computer Science, Vol. 256, Nos. 1/2, pp. 63-92, 2001.

    Google Scholar 

  14. P. Godefroid and P. Wolper, “Using partial orders for the efficient verification of deadlock freedom and safety properties,” Formal Methods in System Design, Vol. 2, No. 2, pp. 149-164, 1993.

    Google Scholar 

  15. K. Heljanko, “Using logic programs with stable model semantics to solve deadlock and reachability problems for 1-safe Petri nets,” Fundamenta Informaticae, Vol. 37, pp. 247-268, 1999.

    Google Scholar 

  16. R.M. Karp and R.E. Miller, “Parallel program schemata,” Journal of Computer and Systems Sciences, Vol. 3, No. 2, pp. 147-195, 1969.

    Google Scholar 

  17. R. Langerak and E. Brinksma, “A complete finite prefix for process algebra,” in Proc. 11th Int. Conf. on Computer Aided Verification,Vol. 1633 of Lecture Notes in Computer Science, SpringerVerlag, 1999, pp. 184-195.

  18. K.L. McMillan, Symbolic Model Checking, Kluwer Academic Publishers, 1993.

  19. K.L. McMillan, “A technique of a state space search based on unfolding,” Formal Methods in System Design, Vol. 6, No. 1, pp. 45-65, 1995.

    Google Scholar 

  20. S. Melzer and S. R¨omer, “Deadlock checking using net unfoldings,” in Proc. 9th Int. Conf. on Computer Aided Verification, 1997.

  21. D. Peled, “All from one, one for all, on model-checking using representatives,” in Proc. 5th Int. Conf. on Computer Aided Verification, Vol. 697 of Lecture Notes in Computer Science, Springer-Verlag, 1993, pp. 409-423.

  22. C. Rackoff, “The covering and boundedness problems for vector addition systems,” TCS, Vol. 6, pp. 223-231, 1987.

    Google Scholar 

  23. M. Sheeran and G. Stålmarck, “A tutorial on Stålmarck's proof procedure for propositional logic,” in G. Gopalakrishnan and P. Windley (Eds.) Proceedings 2nd Intl. Conf. on Formal Methods in Computer-Aided Design, FMCAD'98, Palo Alto, CA, USA, 4-6 Nov. 1998, Vol. 1522 of Lecture Notes in Computer Science, Springer Verlag, Berlin, 1998, pp. 82-99.

    Google Scholar 

  24. A. Valmari, “Stubborn sets for reduced state space generation,” in Advances in Petri Nets, Vol. 483 of Lecture Notes in Computer Science, Springer-Verlag, 1990, pp. 491-515.

  25. M.Y. Vardi and P.Wolper, “An automata-theoretic approach to automatic program verification,” in Proc. LICS '86, 1st IEEE Int. Symp. on Logic in Computer Science, June 1986, pp. 332-344.

  26. P.F. Williams, A. Biere, E.M. Clarke, and A. Gupta, “Combining decision diagrams and SAT procedures for efficient symbolic model checking,” in E.A. Emerson and A.P. Sistla (Eds.) Proc. 12th Int. Conf. on Computer Aided Verification, Vol. 1855 of Lecture Notes in Computer Science, Springer Verlag, 2000, pp. 124-138.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Abdulla, P.A., Iyer, S.P. & Nylén, A. SAT-Solving the Coverability Problem for Petri Nets. Formal Methods in System Design 24, 25–43 (2004). https://doi.org/10.1023/B:FORM.0000004786.30007.f8

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:FORM.0000004786.30007.f8

Navigation