Summaries for Context-Free Games

We study two-player games played on the infinite graph of sentential forms induced by a context-free grammar (that comes with an ownership partitioning of the non-terminals). The winning condition is inclusion of the derived terminal word in the language of a finite automaton. Our contribution is a new algorithm to decide the winning player and to compute her strategy. It is based on a novel representation of all plays starting in a non-terminal. The representation uses the domain of Boolean formulas over the transition monoid of the target automaton. The elements of the monoid are essentially procedure summaries, and our approach can be seen as the first summary-based algorithm for the synthesis of recursive programs. We show that our algorithm has optimal (doubly exponential) time complexity, that it is compatible with recent antichain optimizations, and that it admits a lazy evaluation strategy. Our preliminary experiments indeed show encouraging results, indicating a speed up of three orders of magnitude over a competitor.

[1]  Reinhard Wilhelm,et al.  Compiler Design: Analysis and Transformation , 2012 .

[2]  Neil D. Jones,et al.  The size-change principle for program termination , 2001, POPL '01.

[3]  Thomas Schwentick,et al.  Games for Active XML Revisited , 2014, Theory of Computing Systems.

[4]  Olivier Serre,et al.  C-SHORe: a collapsible approach to higher-order verification , 2013, ICFP.

[5]  Jochen Hoenicke,et al.  Nested interpolants , 2010, POPL '10.

[6]  Javier Esparza,et al.  Efficient Algorithms for Alternating Pushdown Systems with an Application to the Computation of Certificate Chains , 2006, ATVA.

[7]  C.-H. Luke Ong,et al.  Winning Regions of Pushdown Parity Games: A Saturation Method , 2009, CONCUR.

[8]  Stefan Schwoon,et al.  Model checking pushdown systems , 2002 .

[9]  Parosh Aziz Abdulla,et al.  General decidability theorems for infinite-state systems , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[10]  Thomas W. Reps,et al.  Precise interprocedural dataflow analysis via graph reachability , 1995, POPL '95.

[11]  Ruzica Piskac,et al.  Incremental, Inductive Coverability , 2013, CAV.

[12]  Jean-François Raskin,et al.  A Lattice Theory for Solving Games of Imperfect Information , 2006, HSCC.

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

[14]  Pierre Ganty,et al.  A Complete Abstract Interpretation Framework for Coverability Properties of Wsts , 2006 .

[15]  M. Schuster,et al.  62 Games for Active XML Revisited , 2015 .

[16]  Lukás Holík,et al.  Lazy Automata Techniques for WS1S , 2017, TACAS.

[17]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[18]  Daniel Kroening,et al.  Efficient Coverability Analysis by Proof Minimization , 2012, CONCUR.

[19]  Lorenzo Clemente,et al.  Advanced automata minimization , 2012, POPL.

[20]  Michael Luttenberger,et al.  Newtonian program analysis , 2010, JACM.

[21]  Parosh Aziz Abdulla,et al.  All for the Price of Few , 2013, VMCAI.

[22]  Thomas Schwentick,et al.  On optimum left-to-right strategies for active context-free games , 2013, ICDT '13.

[23]  C.-H. Luke Ong,et al.  Analysing Mu-Calculus Properties of Pushdown Systems , 2010, SPIN.

[24]  Dirk Beyer Software Verification and Verifiable Witnesses - (Report on SV-COMP 2015) , 2015, TACAS.

[25]  Angelika Mader,et al.  Modal µ-Calculus, Model Checking and Gauß Elimination , 1995, TACAS.

[26]  Naoki Kobayashi,et al.  Saturation-Based Model Checking of Higher-Order Recursion Schemes , 2013, CSL.

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

[28]  Moshe Y. Vardi,et al.  Global Model-Checking of Infinite-State Systems , 2004, CAV.

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

[30]  Wolfram Schulte,et al.  Data-parallel finite-state machines , 2014, ASPLOS.

[31]  Orna Kupferman,et al.  An Automata-Theoretic Approach to Infinite-State Systems , 2010, Essays in Memory of Amir Pnueli.

[32]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[33]  Arnaud Carayol,et al.  Saturation algorithms for model-checking pushdown systems , 2014, AFL.

[34]  Petru Eles,et al.  Lazy Constrained Monotonic Abstraction , 2016, VMCAI.

[35]  Parosh Aziz Abdulla,et al.  Simulation Subsumption in Ramsey-Based Büchi Automata Universality and Inclusion Testing , 2010, CAV.

[36]  Pierre Wolper,et al.  The Complementation Problem for Büchi Automata with Appplications to Temporal Logic , 1987, Theor. Comput. Sci..

[37]  Olivier Serre Note on winning positions on pushdown games with [omega]-regular conditions , 2003, Inf. Process. Lett..

[38]  Dirk Beyer,et al.  Reliable and Reproducible Competition Results with BenchExec and Witnesses (Report on SV-COMP 2016) , 2016, TACAS.

[39]  A Pnueli,et al.  Two Approaches to Interprocedural Data Flow Analysis , 2018 .

[40]  Thomas A. Henzinger,et al.  Antichains: A New Algorithm for Checking Universality of Finite Automata , 2006, CAV.

[41]  Moshe Y. Vardi,et al.  Efficient Büchi Universality Checking , 2010, TACAS.

[42]  Thomas Schwentick,et al.  Active Context-Free Games , 2004, Theory of Computing Systems.

[43]  Moshe Y. Vardi,et al.  Experimental Evaluation of Classical Automata Constructions , 2005, LPAR.

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

[45]  Rupak Majumdar,et al.  Language-Theoretic Abstraction Refinement , 2012, FASE.

[46]  Pierre Wolper,et al.  A direct symbolic approach to model checking pushdown systems , 1997, INFINITY.

[47]  Parosh Aziz Abdulla,et al.  Advanced Ramsey-Based Büchi Automata Inclusion Testing , 2011, CONCUR.

[48]  C.-H. Luke Ong,et al.  A type-directed abstraction refinement approach to higher-order model checking , 2014, POPL.