Modular Strategies for Infinite Games on Recursive Graphs

In this paper, we focus on solving games in recursive game graphs that can model the control flow of sequential programs with recursive procedure calls. The winning condition is given as an ω-regular specification over the observable, and, unlike traditional pushdown games, the strategy is required to be modular: resolution of choices within a component should not depend on the context in which the component is invoked, but only on the history within the current invocation of the component. We first consider the case when the specification is given as a deterministic Buchi automaton. We show the problem to be decidable, and present a solution based on two-way alternating tree automata with time complexity that is polynomial in the number of internal nodes, exponential in the specification and exponential in the number of exits of the components. We show that the problem is Exptime-complete in general, and Np-complete for fixed-size specifications. Then, we show that the same complexity bounds apply if the specification is given as a universal co-Buchi automaton. Finally, for specifications given as formulas of linear temporal logic Ltl, we obtain a synthesis algorithm that is doubly-exponential in the formula and singly exponential in the number of exits of components.

[1]  Michael Benedikt,et al.  Model Checking of Unrestricted Hierarchical State Machines , 2001, ICALP.

[2]  Thomas A. Henzinger,et al.  Interface Compatibility Checking for Software Modules , 2002, CAV.

[3]  Wolfgang Thomas,et al.  Infinite Games and Verification (Extended Abstract of a Tutorial) , 2002, CAV.

[4]  Orna Kupferman,et al.  An Automata-Theoretic Approach to Reasoning about Infinite-State Systems , 2000, CAV.

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

[6]  Thomas A. Henzinger,et al.  Alternating-time temporal logic , 1999 .

[7]  J. R. Büchi,et al.  Solving sequential conditions by finite-state strategies , 1969 .

[8]  Sriram K. Rajamani,et al.  The SLAM Toolkit , 2001, CAV.

[9]  David A. Wagner,et al.  MOPS: an infrastructure for examining security properties of software , 2002, CCS '02.

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

[11]  Lillian Lee,et al.  Fast context-free grammar parsing requires fast boolean matrix multiplication , 2001, JACM.

[12]  Rajeev Alur,et al.  Modular strategies for recursive game graphs , 2003, Theor. Comput. Sci..

[13]  Rajeev Alur,et al.  Analysis of Recursive State Machines , 2001, CAV.

[14]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[15]  Pierre Wolper,et al.  Reasoning About Infinite Computations , 1994, Inf. Comput..

[16]  Javier Esparza,et al.  Efficient Algorithms for Model Checking Pushdown Systems , 2000, CAV.

[17]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

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

[19]  Thierry Cachat Symbolic Strategy Synthesis for Games on Pushdown Graphs , 2002, ICALP.

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