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.
Similar content being viewed by others
References
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
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
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
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
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
Cachat T (2002) Two-way tree automata solving pushdown games. In: Automata, logics, and infinite games. LNCS, vol 2500. Springer, Berlin, pp 303–317
Chandra AK, Kozen DC, Stockmeyer LJ (1981) Alternation. J ACM 28(1):114–133
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
Emerson EA, Halpern JY (1986) Sometimes and not never revisited: on branching versus linear time. J ACM 33(1):151–178
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
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
Esparza J, Kucera A, Schwoon S (2003) Model checking LTL with regular valuations for pushdown systems. Inf Comput 186(2):355–376
Ferrante A, Murano A, Parente M (2008) Enriched μ-calculi module checking. Log Methods Comput Sci 4(3):1–21
Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, New York
Kupferman O, Grumberg O (1996) Buy one, get one free!!! J Log Comput 6(4):523–539
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
Kupferman O, Vardi MY, Wolper P (2000) An automata-theoretic approach to branching-time model checking. J ACM 47(2):312–360
Kupferman O, Vardi MY, Wolper P (2001) Module checking. Inf Comput 164(2):322–344
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
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
Miyano S, Hayashi T (1984) Alternating finite automata on ω-words. Theor Comput Sci 32:321–330
Muller DE, Shupp PE (1985) The theory of ends, pushdown automata, and second-order logic. Theor Comput Sci 37:51–75
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
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
Vardi MY, Wolper P (1986) Automata-theoretic techniques for modal logics of programs. J Comput Syst Sci 32(2):182–221
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
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
Walukiewicz I (2002) Monadic second-order logic on tree-like structures. Theor Comput Sci 275:311–346
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-010-0093-x