Skip to main content
Log in

Model checking dynamic pushdown networks

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

A dynamic pushdown network (DPN) is a set of pushdown systems (PDSs) where each process can dynamically create new instances of PDSs. DPNs are a natural model of multi-threaded programs with (possibly recursive) procedure calls and thread creation. Thus, it is important to have model checking algorithms for DPNs. We consider in this work model checking DPNs against single-indexed LTL and CTL properties of the form \({\bigwedge f_i}\) such that f i is a LTL/CTL formula over the PDS i. We consider the model checking problems w.r.t. simple valuations (i.e., whether a configuration satisfies an atomic proposition depends only on its control location) and w.r.t. regular valuations (i.e., the set of the configurations satisfying an atomic proposition is a regular set of configurations). We show that these model checking problems are decidable. We propose automata-based approaches for computing the set of configurations of a DPN that satisfy the corresponding single-indexed LTL/CTL formula.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Atig MF, Bouajjani A, Touili T (2008) On the reachability analysis of acyclic networks of pushdown systems. In CONCUR, pp 356–371

  2. Bouajjani A, Esparza J, Maler O (1997) Reachability analysis of pushdown automata: application to model checking. In CONCUR’97. LNCS 1243

  3. Bouajjani A, Esparza J, Touili T. (2003) A generic approach to the static analysis of concurrent programs with procedures. In POPL, pp 62–73

  4. Bozzelli L, Kretínský M, Rehák V, Strejcek J (2009) On decidability of LTL model checking for process rewrite systems. Acta Inf, 46(1)

  5. Bouajjani A, Müller-Olm M, Touili T (2005) Regular symbolic analysis of dynamic networks of pushdown systems. In CONCUR, pp 473–487

  6. Chaki S, Clarke EM, Kidd N, Reps TW, Touili T (2006) Verifying concurrent message-passing c programs with recursive calls. In TACAS, pp 334–349

  7. Esparza J, Hansel D, Rossmanith P, Schwoon S (2000) Efficient algorithm for model checking pushdown systems. In CAV’00, volume 1885 of LNCS

  8. Esparza J, Kucera A, Schwoon S (2003) Model checking LTL with regular valuations for pushdown systems. Inf Comput, 186(2): 355–376

    Article  MATH  MathSciNet  Google Scholar 

  9. Göller S, Lin AW (2011) The complexity of verifying ground tree rewrite systems. In LICS, pp 279–288

  10. Gawlitza TM, Lammich P, Müller-Olm M, Seidl H, Wenner A (2011) Join-lock-sensitive forward reachability analysis for concurrent programs with dynamic process creation. In VMCAI, pp 199–213

  11. Kahlon V, Gupta A (2006) An automata-theoretic approach for model checking threads for LTL properties. In LICS, pp 101–110

  12. Kahlon V, Gupta A (2007) On the analysis of interacting pushdown systems. In POPL, pp 303–314

  13. Kahlon V, Ivancic F, Gupta A (2005) Reasoning about threads communicating via locks. In CAV, pp 505–518

  14. Kidd N, Lammich P, Touili T, Reps TW (2009) A decision procedure for detecting atomicity violations for communicating processes with locks. In SPIN, pp 125–142

  15. Lammich P, Müller-Olm M (2007) Precise fixpoint-based analysis of programs with thread-creation and procedures. In CONCUR, pp 287–302

  16. Lammich P, Müller-Olm M (2008) Conflict analysis of programs with procedures, dynamic thread creation, and monitors. In SAS, pp 205–220

  17. Lammich P, Müller-Olm M, Wenner A (2009) Predecessor sets of dynamic pushdown networks with tree-regular constraints. In CAV, pp 525–539

  18. Lugiez D (2011) Forward analysis of dynamic network of pushdown systems is easier without order. Int J Found Comput Sci, 22(4): 843–862

    Article  MATH  MathSciNet  Google Scholar 

  19. Mayr R (2000) Process rewrite systems. Inf Comput, 156(1–2): 264–286

    Article  MATH  MathSciNet  Google Scholar 

  20. Schwoon S (2002) Model-Checking Pushdown Systems. PhD thesis, Technische Universität München

  21. Song F, Touili T (2011). Efficient CTL model-checking for pushdown systems. In CONCUR

  22. Song F, Touili T (2013) Model checking dynamic pushdown networks. In APLAS, pp 33–49

  23. Touili T, Atig MF (2010) Verifying parallel programs with dynamic communication structures. Theor Comput Sci, 411(38–39): 3460–3468

    Article  MATH  MathSciNet  Google Scholar 

  24. Vardi MY, Wolper P (1986) Automata-theoretic techniques for modal logics of programs. J Comput Syst Sci, 32(2): 183–221

    Article  MATH  MathSciNet  Google Scholar 

  25. Wenner A (2010) Weighted dynamic pushdown networks. In ESOP, pp 590–609

  26. Yahav E (2001) Verifying safety properties of concurrent java programs using 3-valued logic. In POPL, pp 27–40

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fu Song.

Additional information

Jin Song Dong

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Song, F., Touili, T. Model checking dynamic pushdown networks. Form Asp Comp 27, 397–421 (2015). https://doi.org/10.1007/s00165-014-0330-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-014-0330-y

Keywords

Navigation