Formal Methods in System Design

, Volume 36, Issue 1, pp 65–95

Pushdown module checking

Article

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.

Keywords

Module checking Pushdown systems Branching temporal logics Tree automata 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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 CrossRefGoogle Scholar
  4. 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 CrossRefGoogle Scholar
  5. 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 Google Scholar
  6. 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 CrossRefGoogle Scholar
  7. 7.
    Chandra AK, Kozen DC, Stockmeyer LJ (1981) Alternation. J ACM 28(1):114–133 MATHCrossRefMathSciNetGoogle Scholar
  8. 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 CrossRefGoogle Scholar
  9. 9.
    Emerson EA, Halpern JY (1986) Sometimes and not never revisited: on branching versus linear time. J ACM 33(1):151–178 MATHCrossRefMathSciNetGoogle Scholar
  10. 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 Google Scholar
  11. 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 Google Scholar
  12. 12.
    Esparza J, Kucera A, Schwoon S (2003) Model checking LTL with regular valuations for pushdown systems. Inf Comput 186(2):355–376 MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Ferrante A, Murano A, Parente M (2008) Enriched μ-calculi module checking. Log Methods Comput Sci 4(3):1–21 MathSciNetGoogle Scholar
  14. 14.
    Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, New York MATHGoogle Scholar
  15. 15.
    Kupferman O, Grumberg O (1996) Buy one, get one free!!! J Log Comput 6(4):523–539 MATHMathSciNetGoogle Scholar
  16. 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. 17.
    Kupferman O, Vardi MY, Wolper P (2000) An automata-theoretic approach to branching-time model checking. J ACM 47(2):312–360 MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Kupferman O, Vardi MY, Wolper P (2001) Module checking. Inf Comput 164(2):322–344 MATHCrossRefMathSciNetGoogle Scholar
  19. 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 CrossRefGoogle Scholar
  20. 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 CrossRefGoogle Scholar
  21. 21.
    Miyano S, Hayashi T (1984) Alternating finite automata on ω-words. Theor Comput Sci 32:321–330 MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Muller DE, Shupp PE (1985) The theory of ends, pushdown automata, and second-order logic. Theor Comput Sci 37:51–75 MATHCrossRefGoogle Scholar
  23. 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. 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 CrossRefGoogle Scholar
  25. 25.
    Vardi MY, Wolper P (1986) Automata-theoretic techniques for modal logics of programs. J Comput Syst Sci 32(2):182–221 MathSciNetGoogle Scholar
  26. 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. 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. 28.
    Walukiewicz I (2002) Monadic second-order logic on tree-like structures. Theor Comput Sci 275:311–346 MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.IRISACampus Universitaire de BeaulieuRennes CedexFrance
  2. 2.Dipartimento di Scienze FisicheUniversità di Napoli “Federico II”NapoliItaly

Personalised recommendations