Skip to main content
Log in

Pushdown module checking

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

Abstract

Model checking is a useful method to verify automatically the correctness of a system with respect to a desired behavior, by checking whether a mathematical model of the system satisfies a formal specification of this behavior. Many systems of interest are open, in the sense that their behavior depends on the interaction with their environment. The model checking problem for finite-state open systems (called module checking) has been intensively studied in the literature. In this paper, we focus on open pushdown systems and we study the related model-checking problem (pushdown module checking, for short) with respect to properties expressed by CTL and CTL* formulas. We show that pushdown module checking against CTL (resp., CTL*) is 2Exptime-complete (resp., 3Exptime-complete). Moreover, we prove that for a fixed CTL or CTL* formula, the problem is Exptime-complete.

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. Aminof A, Murano A, Vardi MY (2007) Pushdown module checking with imperfect information. In: Proc 18th international conference on concurrency theory (CONCUR’07). LNCS, vol 4703. Springer, Berlin, pp 461–476

    Google Scholar 

  2. Bouajjani A, Esparza J, Maler O (1997) Reachability analysis of pushdown automata: application to model-checking. In: Proc 8th international conference on concurrency theory (CONCUR’97). LNCS, vol 1243. Springer, Berlin, pp 135–150

    Google Scholar 

  3. Bozzelli L (2006) Complexity results on branching-time pushdown model checking. In: Proc 7th conference on verification, model checking, and abstract interpretation (VMCAI’06). LNCS, vol 3855. Springer, Berlin, pp 65–79

    Chapter  Google Scholar 

  4. Bozzelli L, Murano A, Peron A (2005) Pushdown module checking. In: Proc 12th int conf on logic for programming, artificial intelligence, and reasoning (LPAR’05). LNCS, vol 3835. Springer, Berlin, pp 504–518

    Chapter  Google Scholar 

  5. Buchi JR (1962) On a decision method in restricted second order arithmetic. In: Proc internat congr logic, method and philos sci 1960, Stanford, pp 1–12

  6. Cachat T (2002) Two-way tree automata solving pushdown games. In: Automata, logics, and infinite games. LNCS, vol 2500. Springer, Berlin, pp 303–317

    Chapter  Google Scholar 

  7. Chandra AK, Kozen DC, Stockmeyer LJ (1981) Alternation. J ACM 28(1):114–133

    Article  MATH  MathSciNet  Google Scholar 

  8. Clarke EM, Emerson EA (1981) Design and verification of synchronization skeletons using branching time temporal logic. In: Proceedings of workshop on logic of programs. LNCS, vol 131. Springer, Berlin, pp 52–71

    Chapter  Google Scholar 

  9. Emerson EA, Halpern JY (1986) Sometimes and not never revisited: on branching versus linear time. J ACM 33(1):151–178

    Article  MATH  MathSciNet  Google Scholar 

  10. Emerson EA, Jutla CS (1988) The complexity of tree automata and logics of programs. In: 29th annual IEEE symposium on foundations of computer science (FOCS’88), pp 328–337

  11. Emerson EA, Jutla CS (1991) Tree automata, μ-calculus and determinacy. In: 32nd annual IEEE symposium on the foundations of computer science (FOCS’91), pp 368–377

  12. 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 

  13. Ferrante A, Murano A, Parente M (2008) Enriched μ-calculi module checking. Log Methods Comput Sci 4(3):1–21

    MathSciNet  Google Scholar 

  14. Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, New York

    MATH  Google Scholar 

  15. Kupferman O, Grumberg O (1996) Buy one, get one free!!! J Log Comput 6(4):523–539

    MATH  MathSciNet  Google Scholar 

  16. Kupferman O, Thiagarajan PS, Madhusudan P, Vardi MY (2000) Open systems in reactive environments: Control and Synthesis. In: Proc 11th international conference on concurrency theory (CONCUR’00). LNCS, vol 1877. Springer, Berlin, pp 92–107

    Google Scholar 

  17. Kupferman O, Vardi MY, Wolper P (2000) An automata-theoretic approach to branching-time model checking. J ACM 47(2):312–360

    Article  MATH  MathSciNet  Google Scholar 

  18. Kupferman O, Vardi MY, Wolper P (2001) Module checking. Inf Comput 164(2):322–344

    Article  MATH  MathSciNet  Google Scholar 

  19. Kupferman O, Piterman N, Vardi MY (2002) Pushdown specifications. In: 9th int conf on logic for programming, artificial intelligence, and reasoning (LPAR’02). LNAI, vol 2514. Springer, Berlin, pp 262–277

    Chapter  Google Scholar 

  20. Loding C, Madhusudan P, Serre O (2004) Visibly pushdown games. In: Proc 24th conference on foundations of software technology and theoretical computer science (FST&TCS’04). Springer, Berlin, pp 408–420

    Chapter  Google Scholar 

  21. Miyano S, Hayashi T (1984) Alternating finite automata on ω-words. Theor Comput Sci 32:321–330

    Article  MATH  MathSciNet  Google Scholar 

  22. Muller DE, Shupp PE (1985) The theory of ends, pushdown automata, and second-order logic. Theor Comput Sci 37:51–75

    Article  MATH  Google Scholar 

  23. Queille JP, Sifakis J (1981) Specification and verification of concurrent programs in Cesar. In: Proceedings of the fifth international symposium on programming. LNCS, vol 137. Springer, Berlin, pp 337–351

    Google Scholar 

  24. Vardi MY (1998) Reasoning about the past with two-way automata. In: Proc 25th international colloquium on automata, languages and programming (ICALP’98). LNCS, vol 1443. Springer, Berlin, pp 628–641

    Chapter  Google Scholar 

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

    MathSciNet  Google Scholar 

  26. Walukiewicz I (1996) Pushdown processes: games and model checking. In: Proc 8th international conference on computer aided verification (CAV’96). LNCS, vol 1102. Springer, Berlin, pp 62–74

    Google Scholar 

  27. Walukiewicz I (2000) Model checking CTL properties of pushdown systems. In: Proc 20th conference on foundations of software technology and theoretical computer science (FST&TCS’00). LNCS, vol 1974. Springer, Berlin, pp 127–138

    Google Scholar 

  28. Walukiewicz I (2002) Monadic second-order logic on tree-like structures. Theor Comput Sci 275:311–346

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laura Bozzelli.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bozzelli, L., Murano, A. & Peron, A. Pushdown module checking. Form Methods Syst Des 36, 65–95 (2010). https://doi.org/10.1007/s10703-010-0093-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-010-0093-x

Keywords

Navigation