Abstract
We present a constraint-based approach to computing winning strategies in two-player graph games over the state space of infinite-state programs. Such games have numerous applications in program verification and synthesis, including the synthesis of infinite-state reactive programs and branching-time verification of infinite-state programs. Our method handles games with winning conditions given by safety, reachability, and general Linear Temporal Logic (LTL) properties. For each property class, we give a deductive proof rule that --- provided a symbolic representation of the game players --- describes a winning strategy for a particular player. Our rules are sound and relatively complete. We show that these rules can be automated by using an off-the-shelf Horn constraint solver that supports existential quantification in clause heads. The practical promise of the rules is demonstrated through several case studies, including a challenging "Cinderella-Stepmother game" that allows infinite alternation of discrete and continuous choices by two players, as well as examples derived from prior work on program repair and synthesis.
Supplemental Material
- R. Alur, P. Cerný, P. Madhusudan, and W. Nam. Synthesis of interface specifications for java classes. In POPL, pages 98--109, 2005. Google Scholar
Digital Library
- T. Ball and O. Kupferman. An abstraction-refinement framework for multi-agent systems. In LICS, pages 379--388. IEEE, 2006. Google Scholar
Digital Library
- T. Beyene, C. Popeea, and A. Rybalchenko. Solving existentially quantified Horn clauses. In CAV, 2013. Google Scholar
Digital Library
- M. Bodlaender, C. Hurkens, V. Kusters, F. Staals, G. Woeginger, and H. Zantema. Cinderella versus the Wicked Stepmother. In IFIP TCS, pages 57--71, 2012. Google Scholar
Digital Library
- M. Bofill, R. Nieuwenhuis, A. Oliveras, E. Rodrıguez-Carbonell, and A. Rubio. The Barcelogic SMT solver. In CAV, pages 294--298, 2008. Google Scholar
Digital Library
- C. Borralleras, S. Lucas, A. Oliveras, E. Rodrıguez-Carbonell, and A. Rubio. SAT modulo linear arithmetic for solving polynomial constraints. J. Autom. Reasoning, 48 (1): 107--131, 2012. Google Scholar
Digital Library
- J. R. Büchi and L. Landweber. Solving sequential conditions by finite-state strategies. Trans. Amer. Math. Soc., 138: 295--311, 1969.Google Scholar
Cross Ref
- T. Cachat. Symbolic strategy synthesis for games on pushdown graphs. In ICALP, pages 704--715. 2002. Google Scholar
Digital Library
- T. Cachat. Uniform solution of parity games on prefix-recognizable graphs. Electronic Notes in Theoretical Computer Science, 68 (6): 71--84, 2003.Google Scholar
Cross Ref
- K. Chatterjee and L. Doyen. Energy parity games. TCS, 2012. Google Scholar
Digital Library
- B. Cook and E. Koskinen. Reasoning about nondeterminism in programs. In PLDI, 2013. Google Scholar
Digital Library
- L. De Alfaro, T. Henzinger, and R. Majumdar. Symbolic algorithms for infinite-state games. In phCONCUR, pages 536--550. Springer, 2001. Google Scholar
Digital Library
- L. M. de Moura and N. Bjørner. Z3: An efficient SMT solver. In TACAS, 2008. Google Scholar
Digital Library
- E. A. Emerson and C. Jutla. Tree automata, mu-calculus and determinacy. In FOCS, pages 368--377. IEEE, 1991. Google Scholar
Digital Library
- H. Fecher and M. Huth. Ranked predicate abstraction for branching time: Complete, incremental, and precise. In ATVA, pages 322--336. Springer, 2006. Google Scholar
Digital Library
- H. Fecher and S. Shoham. Local abstraction--refinement for the μ-calculus. STTT, 13 (4): 289--306, 2011. Google Scholar
Digital Library
- P. Gastin and D. Oddoux. Fast LTL to Büchi automata translation. In CAV, pages 53--65, 2001. Google Scholar
Digital Library
- E. Grädel, W. Thomas, and T. Wilke, editors. Automata, Logics, and Infinite Games: A Guide to Current Research, 2002.Google Scholar
- S. Grebenshchikov, A. Gupta, N. P. Lopes, C. Popeea, and A. Rybalchenko. HSF(C): A software verifier based on Horn clauses - (competition contribution). In TACAS, 2012. Google Scholar
Digital Library
- S. Grebenshchikov, N. P. Lopes, C. Popeea, and A. Rybalchenko. Synthesizing software verifiers from proof rules. In phPLDI, 2012. Google Scholar
Digital Library
- A. Griesmayer, R. Bloem, and B. Cook. Repair of boolean programs with an application to C. In phCAV, pages 358--371. Springer, 2006. Google Scholar
Digital Library
- O. Grumberg, M. Lange, M. Leucker, and S. Shoham. Don't know in the μ-calculus. In phVMCAI, pages 233--249, 2005. Google Scholar
Digital Library
- O. Grumberg, M. Lange, M. Leucker, and S. Shoham. When not losing is better than winning: Abstraction and refinement for the full μ-calculus. Information and Computation, 205 (8): 1130--1148, 2007. Google Scholar
Digital Library
- A. Gurfinkel and M. Chechik. Why waste a perfectly good abstraction? In TACAS, pages 212--226. 2006. Google Scholar
Digital Library
- A. Harding, M. Ryan, and P.-Y. Schobbens. A new algorithm for strategy synthesis in ltl games. In TACASs, pages 477--492. Springer, 2005. Google Scholar
Digital Library
- T. A. Henzinger, R. Jhala, and R. Majumdar. Counterexample-guided control. In ICALP, pages 886--902, 2003. Google Scholar
Digital Library
- K. Hoder, N. Bjørner, and L. M. de Moura. Z- an efficient engine for fixed points with constraints. In CAV, pages 457--462, 2011. Google Scholar
Digital Library
- A. J. C. Hurkens, C. A. J. Hurkens, and G. J. Woeginger. How Cinderella won the bucket game (and lived happily ever after). Mathematics Magazine, 84 (4): pp. 278--283, 2011.Google Scholar
Cross Ref
- B. Jobstmann, A. Griesmayer, and R. Bloem. Program repair as a game. In CAV, pages 226--238, 2005. Google Scholar
Digital Library
- M. JurdziŃski. Small progress measures for solving parity games. In STACS, pages 290--301, 2000. Google Scholar
Digital Library
- V. Kuncak, M. Mayer, R. Piskac, and P. Suter. Complete functional synthesis. In phPLDI, 2010. Google Scholar
Digital Library
- O. Kupferman and M. Y. Vardi. Robust satisfaction. In CONCUR, pages 383--398, 1999. Google Scholar
Digital Library
- Z. Manna and A. Pnueli. Completing the temporal picture. Theor. Comput. Sci., 83 (1): 91--130, 1991. Google Scholar
Digital Library
- Z. Manna and R. Waldinger. A deductive approach to program synthesis. TOPLAS, 2 (1): 90--121, 1980. Google Scholar
Digital Library
- D. Martin. Borel determinacy. The Annals of Mathematics, 102 (2): 363--371, 1975.Google Scholar
Cross Ref
- E.-R. Olderog and K. R. Apt. Fairness in parallel programs: The transformational approach. TOPLAS, 10 (3), 1988. Google Scholar
Digital Library
- N. Piterman, A. Pnueli, and Y. Saar. Synthesis of reactive(1) designs. In VMCAI, pages 364--380, 2006. Google Scholar
Digital Library
- A. Pnueli and R. Rosner. On the synthesis of a reactive module. In POPL, pages 179--190. ACM, 1989. Google Scholar
Digital Library
- A. Podelski and A. Rybalchenko. Transition invariants. In LICS, 2004. Google Scholar
Digital Library
- M. Slanina. Control rules for reactive system games. In AAAI Spring Symposium on Logic-Based Program Synthesis, 2002.Google Scholar
- A. Solar-Lezama, L. Tancau, R. Bodík, S. A. Seshia, and V. A. Saraswat. Combinatorial sketching for finite programs. In ASPLOS, pages 404--415, 2006. Google Scholar
Digital Library
- S. Srivastava, S. Gulwani, and J. S. Foster. From program verification to program synthesis. In POPL, pages 313--326, 2010. Google Scholar
Digital Library
- W. Thomas. On the synthesis of strategies in infinite games. In STACS, pages 1--13, 1995.Google Scholar
Cross Ref
- M. Y. Vardi. Verification of concurrent programs: The automata-theoretic framework. Ann. Pure Appl. Logic, 51 (1--2): 79--98, 1991.Google Scholar
Cross Ref
- M. T. Vechev, E. Yahav, and G. Yorsh. Abstraction-guided synthesis of synchronization. In POPL, 2010. Google Scholar
Digital Library
- I. Walukiewicz. Pushdown processes: Games and model-checking. Information and computation, 164 (2): 234--263, 2001. Google Scholar
Digital Library
- W. Zielonka. Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theoretical Computer Science, 200 (1): 135--183, 1998. Google Scholar
Digital Library
Index Terms
A constraint-based approach to solving games on infinite graphs
Recommendations
Strategy synthesis for linear arithmetic games
Many problems in formal methods can be formalized as two-player games. For several applications—program synthesis, for example—in addition to determining which player wins the game, we are interested in computing a winning strategy for that player. This ...
A constraint-based approach to solving games on infinite graphs
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesWe present a constraint-based approach to computing winning strategies in two-player graph games over the state space of infinite-state programs. Such games have numerous applications in program verification and synthesis, including the synthesis of ...
The complexity of constraint satisfaction games and QCSP
We study the complexity of two-person constraint satisfaction games. An instance of such a game is given by a collection of constraints on overlapping sets of variables, and the two players alternately make moves assigning values from a finite domain to ...







Comments