skip to main content
10.1145/2535838.2535860acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

A constraint-based approach to solving games on infinite graphs

Published:08 January 2014Publication History

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.

Skip Supplemental Material Section

Supplemental Material

d1_left_t11.mp4

mp4

253 MB

References

  1. R. Alur, P. Cerný, P. Madhusudan, and W. Nam. Synthesis of interface specifications for java classes. In POPL, pages 98--109, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Ball and O. Kupferman. An abstraction-refinement framework for multi-agent systems. In LICS, pages 379--388. IEEE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. T. Beyene, C. Popeea, and A. Rybalchenko. Solving existentially quantified Horn clauses. In CAV, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Bofill, R. Nieuwenhuis, A. Oliveras, E. Rodrıguez-Carbonell, and A. Rubio. The Barcelogic SMT solver. In CAV, pages 294--298, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. R. Büchi and L. Landweber. Solving sequential conditions by finite-state strategies. Trans. Amer. Math. Soc., 138: 295--311, 1969.Google ScholarGoogle ScholarCross RefCross Ref
  8. T. Cachat. Symbolic strategy synthesis for games on pushdown graphs. In ICALP, pages 704--715. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. Cachat. Uniform solution of parity games on prefix-recognizable graphs. Electronic Notes in Theoretical Computer Science, 68 (6): 71--84, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  10. K. Chatterjee and L. Doyen. Energy parity games. TCS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. B. Cook and E. Koskinen. Reasoning about nondeterminism in programs. In PLDI, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L. De Alfaro, T. Henzinger, and R. Majumdar. Symbolic algorithms for infinite-state games. In phCONCUR, pages 536--550. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. M. de Moura and N. Bjørner. Z3: An efficient SMT solver. In TACAS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. A. Emerson and C. Jutla. Tree automata, mu-calculus and determinacy. In FOCS, pages 368--377. IEEE, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Fecher and M. Huth. Ranked predicate abstraction for branching time: Complete, incremental, and precise. In ATVA, pages 322--336. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Fecher and S. Shoham. Local abstraction--refinement for the μ-calculus. STTT, 13 (4): 289--306, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Gastin and D. Oddoux. Fast LTL to Büchi automata translation. In CAV, pages 53--65, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. E. Grädel, W. Thomas, and T. Wilke, editors. Automata, Logics, and Infinite Games: A Guide to Current Research, 2002.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Grebenshchikov, N. P. Lopes, C. Popeea, and A. Rybalchenko. Synthesizing software verifiers from proof rules. In phPLDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Griesmayer, R. Bloem, and B. Cook. Repair of boolean programs with an application to C. In phCAV, pages 358--371. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. O. Grumberg, M. Lange, M. Leucker, and S. Shoham. Don't know in the μ-calculus. In phVMCAI, pages 233--249, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Gurfinkel and M. Chechik. Why waste a perfectly good abstraction? In TACAS, pages 212--226. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. A. Henzinger, R. Jhala, and R. Majumdar. Counterexample-guided control. In ICALP, pages 886--902, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. B. Jobstmann, A. Griesmayer, and R. Bloem. Program repair as a game. In CAV, pages 226--238, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. JurdziŃski. Small progress measures for solving parity games. In STACS, pages 290--301, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. V. Kuncak, M. Mayer, R. Piskac, and P. Suter. Complete functional synthesis. In phPLDI, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. O. Kupferman and M. Y. Vardi. Robust satisfaction. In CONCUR, pages 383--398, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Z. Manna and A. Pnueli. Completing the temporal picture. Theor. Comput. Sci., 83 (1): 91--130, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Z. Manna and R. Waldinger. A deductive approach to program synthesis. TOPLAS, 2 (1): 90--121, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. D. Martin. Borel determinacy. The Annals of Mathematics, 102 (2): 363--371, 1975.Google ScholarGoogle ScholarCross RefCross Ref
  36. E.-R. Olderog and K. R. Apt. Fairness in parallel programs: The transformational approach. TOPLAS, 10 (3), 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. N. Piterman, A. Pnueli, and Y. Saar. Synthesis of reactive(1) designs. In VMCAI, pages 364--380, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. A. Pnueli and R. Rosner. On the synthesis of a reactive module. In POPL, pages 179--190. ACM, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. A. Podelski and A. Rybalchenko. Transition invariants. In LICS, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. M. Slanina. Control rules for reactive system games. In AAAI Spring Symposium on Logic-Based Program Synthesis, 2002.Google ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. S. Srivastava, S. Gulwani, and J. S. Foster. From program verification to program synthesis. In POPL, pages 313--326, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. W. Thomas. On the synthesis of strategies in infinite games. In STACS, pages 1--13, 1995.Google ScholarGoogle ScholarCross RefCross Ref
  44. M. Y. Vardi. Verification of concurrent programs: The automata-theoretic framework. Ann. Pure Appl. Logic, 51 (1--2): 79--98, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  45. M. T. Vechev, E. Yahav, and G. Yorsh. Abstraction-guided synthesis of synchronization. In POPL, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. I. Walukiewicz. Pushdown processes: Games and model-checking. Information and computation, 164 (2): 234--263, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. W. Zielonka. Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theoretical Computer Science, 200 (1): 135--183, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A constraint-based approach to solving games on infinite graphs

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
                January 2014
                702 pages
                ISBN:9781450325448
                DOI:10.1145/2535838

                Copyright © 2014 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 8 January 2014

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                POPL '14 Paper Acceptance Rate51of220submissions,23%Overall Acceptance Rate824of4,130submissions,20%

                Upcoming Conference

                POPL '25

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader