Towards Efficient Verification of Systems with Dynamic Process Creation

  • Hanna Klaudel
  • Maciej Koutny
  • Elisabeth Pelz
  • Franck Pommereau
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5160)


Modelling and analysis of dynamic multi-threaded state systems often encounters obstacles when one wants to use automated verification methods, such as model checking. Our aim in this paper is to develop a technical device for coping with one such obstacle, namely that caused by dynamic process creation.

We first introduce a general class of coloured Petri nets—not tied to any particular syntax or approach—allowing one to capture systems with dynamic (and concurrent) process creation as well as capable of manipulating data. Following this, we introduce the central notion of our method which is a marking equivalence that can be efficiently computed and then used, for instance, to aggregate markings in a reachability graph. In some situations, such an aggregation may produce a finite representation of an infinite state system which still allows one to establish the relevant behavioural properties. We show feasibility of the method on an example and provide initial experimental results.


Petri nets multi-threaded systems marking symmetries state-space generation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ball, T., Chaki, S., Rajamani, S.K.: Parameterized Verification of Multithreaded Software Libraries. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 158–173. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Best, E., et al.: M-Nets: An Algebra of High-Level Petri Nets, with an Application to the Semantics of Concurrent Programming Languages. Acta Informatica 35, 813–857 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Bosnacki, D., Dams, D., Holenderski, L.: Symmetric Spin. International Journal on Software Tools for Technology Transfer 4, 92–106 (2002)CrossRefGoogle Scholar
  4. 4.
    Chiola, G., Dutheillet, C., Franceschinis, G., Haddad, S.: A Symbolic Reachability Graph for Coloured Petri Nets. Theoretical Computer Science 176, 39–65 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  6. 6.
    Corbett, J.C., et al.: Bandera: Extracting Finite-state Models from Java Source Code. In: Proc. ICSE 2000, pp. 439–448. ACM, New York (2000)Google Scholar
  7. 7.
    Cordella, L.P., Foggia, P., Sansone, C., Vento, M.: A (Sub)Graph Isomorphism Algorithm for Matching Large Graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence 26, 1367–1372 (2004)CrossRefGoogle Scholar
  8. 8.
    Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: Proc. POPL 1977, pp. 238–252. ACM, New York (1977)Google Scholar
  9. 9.
    Delzanno, G.: Constraint-based Automatic Verification of Abstract Models of Multithreaded Programs. Journal of Theory and Practice of Logic Programming 7 (2007)Google Scholar
  10. 10.
    Evangelista, S.: High Level Petri Nets Analysis with Helena. In: Ciardo, G., Darondeau, P. (eds.) ICATPN 2005. LNCS, vol. 3536, pp. 455–464. Springer, Heidelberg (2005)Google Scholar
  11. 11.
    Flanagan, C., Freund, S.N., Qadeer, S., Seshia, S.A.: Modular Verification of Multithreaded Programs. Theoretical Computer Science 338, 153–183 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Hagberg, A., Schult, D., Swart, P.: NetworkX, High Productivity Software for Complex Networks,
  13. 13.
    Hendriks, M., et al.: Adding Symmetry Reduction to Uppaal. In: Larsen, K.G., Niebert, P. (eds.) FORMATS 2003. LNCS, vol. 2791, pp. 46–59. Springer, Heidelberg (2004)Google Scholar
  14. 14.
    Khomenko, V.: Model Checking Based on Prefixes of Petri Net Unfoldings. PhD Thesis, School of Computing Science, University of Newcastle (2003)Google Scholar
  15. 15.
    Klaudel, H., Koutny, M., Pelz, E., Pommereau, F.: Towards Efficient Verification of Systems with Dynamic Process Creation. LACL Technical Report (2008),
  16. 16.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems Specification. Springer, Heidelberg (1991)zbMATHGoogle Scholar
  17. 17.
    McMillan, K.: Symbolic Model Checking. Kluwer Academic Publishers, Dordrecht (1993)zbMATHGoogle Scholar
  18. 18.
    Miller, A., Donaldson, A., Calder, M.: Symmetry in Temporal Logic Model Checking. ACM Comput. Surv. 38 (2006)Google Scholar
  19. 19.
    Pommereau, F.: Versatile Boxes, a Multi-Purpose Algebra of High-Level Petri Nets. In: DADS/SCSC 2007, SCS/ACM (2007)Google Scholar
  20. 20.
    Pommereau, F.: Quickly Prototyping Petri Net Tools with Snakes. In: Proc.  PNTAP 2008, ACM Digital Library (2008)Google Scholar
  21. 21.
    Rabin, M.O.: Decidability of Second-order Theories and Automata on Infinite Trees. Transactions of the American Mathematical Society 141 (1969)Google Scholar
  22. 22.
    Rosa-Velardo, F., de Frutos-Escrig, D.: Name Creation vs. Replication in Petri Net Systems. In: Kleijn, J., Yakovlev, A. (eds.) ICATPN 2007. LNCS, vol. 4546, pp. 402–422. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  23. 23.
    Stärk, R.F.: Formal Specification and Verification of the C# Thread Model. Theoretical Computer Science 343, 482–508 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Stoller, S.D.: Model-Checking Multi-threaded Distributed Java Programs. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 224–244. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  25. 25.
    Thierry-Mieg, Y., Dutheillet, C., Mounier, I.: Automatic Symmetry Detection in Well-Formed Nets. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 82–101. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Hanna Klaudel
    • 1
  • Maciej Koutny
    • 2
  • Elisabeth Pelz
    • 3
  • Franck Pommereau
    • 3
  1. 1.IBISCUniversity of EvryEvryFrance
  2. 2.SCSNewcastle UniversityUK
  3. 3.LACLUniversity of Paris EstCréteilFrance

Personalised recommendations