Pushdown module checking

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* formula, the problem is Exptime-complete.

[1]  E. Allen Emerson,et al.  Tree automata, mu-calculus and determinacy , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[2]  Christof Löding,et al.  Visibly Pushdown Games , 2004, FSTTCS.

[3]  Girish Bhat,et al.  Efficient model checking via the equational /spl mu/-calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[4]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[5]  David E. Muller,et al.  The Theory of Ends, Pushdown Automata, and Second-Order Logic , 1985, Theor. Comput. Sci..

[6]  S. Sieber On a decision method in restricted second-order arithmetic , 1960 .

[7]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[8]  Moshe Y. Vardi Sometimes and Not Never Re-revisited: On Branching Versus Linear Time , 1998, CONCUR.

[9]  Igor Walukiewicz Monadic second-order logic on tree-like structures , 2002, Theor. Comput. Sci..

[10]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[11]  Igor Walukiewicz Model Checking CTL Properties of Pushdown Systems , 2000, FSTTCS.

[12]  Jørgen Staunstrup Specification and Verification of Concurrent Programs , 1979 .

[13]  Thierry Cachat Two-Way Tree Automata Solving Pushdown Games , 2001, Automata, Logics, and Infinite Games.

[14]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[15]  Aniello Murano,et al.  Pushdown module checking with imperfect information , 2007, Inf. Comput..

[16]  Moshe Y. Vardi Reasoning about The Past with Two-Way Automata , 1998, ICALP.

[17]  Javier Esparza,et al.  Model-Checking LTL with Regular Valuations for Pushdown Systems , 2001, TACS.

[18]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[19]  Orna Grumberg,et al.  Buy One, Get One Free!!! , 1994, J. Log. Comput..

[20]  Laura Bozzelli,et al.  Complexity results on branching-time pushdown model checking , 2006, Theor. Comput. Sci..

[21]  Pierre Wolper,et al.  Automata theoretic techniques for modal logics of programs: (Extended abstract) , 1984, STOC '84.

[22]  E. Allen Emerson,et al.  The Complexity of Tree Automata and Logics of Programs , 1999, SIAM J. Comput..

[23]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[24]  Igor Walukiewicz,et al.  Pushdown Processes: Games and Model-Checking , 1996, Inf. Comput..

[25]  Satoru Miyano,et al.  Alternating Finite Automata on omega-Words , 1984, CAAP.

[26]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[27]  Georg Peschke,et al.  The Theory of Ends , 1990 .

[28]  P. S. Thiagarajan,et al.  Open Systems in Reactive Environments: Control and Synthesis , 2000, CONCUR.