Multidimensional and Pushdown Mean-Payoff Games with Applications to Quantitative Verification and Synthesis of Programs: Complexity, Decidability and Algorithms

Games on graphs play a central role in the automated verification and synthesis of programs. In the recent years there is an extensive line of research that aims to extend traditional boolean verification with quantitative properties. Typically, quantitative properties are modelled by a weight function over the transitions of the program. The most well-studied quantitative metric is the mean-payoff metric which assigns to a run of the program the mean-payoff (long-run average) of the weights that occur in the run. The automated synthesis of a program is modeled by infinite-duration two-player games over graphs, and a winning strategy for the protagonist corresponds to a correct implementation of the program. The automated verification of a program is modeled by a one-player game, where only one player makes the choices, and the existence of a winning strategy (i.e., an infinite path in the graph) corresponds to undesirable run of the program (and therefore, the implementation of the program is incorrect). Mean-payoff games are played over weighted graphs, and the vertices of the graph are partitioned among the protagonist and the antagonist. The player who owns the current vertex decides on the next move, and the aim of the protagonist is to get a non-negative mean-payoff value for the play. The study of these games was initially motivated by applications to economics, but recently they are extensively used for the study of quantitative verification and synthesis of programs. The purpose of this dissertation is to extend the classical research of mean-payoff games in two orthogonal directions: The first direction is to consider games over finite-graphs with multidimensional weight function. A multidimensional weight function can model multiple (and possibly conflicting) properties of a program, for example energy consumption and response time. In multidimensional mean-payoff games the objective of the protagonist is to satisfy a boolean condition over the mean-payoff values of the different dimensions. For example, achieve mean-payoff value at least 7 in the first dimension, while maintaining either mean-payoff of at least -2 in the second dimension or mean-payoff of at most 4 in the third dimension. The second direction is to consider games over infinite-state pushdown graphs, namely, games over the state space of pushdown automata that can model the control flow of sequential programs with recursion. The main contributions of this thesis are as follows. (i) Multidimensional mean-payoff games on finite graphs. We obtain a complete characterization of the complexity and decidability of multidimensional mean-payoff games. Specifically, we obtain tight complexity and decidability results for: (a) Twoplayer games with conjunctive condition (e.g., assure non-negative mean-payoff in every dimension) and bounded number of dimensions. (b) One-player games with arbitrary boolean condition. (c) Two-player games with arbitrary condition, where the protagonist is restricted to finite-memory strategies. (d) Two-player games with arbitrary condition and arbitrary strategies. (ii) Mean-payoff pushdown games. In pushdown games two types of strategies are relevant: global strategies, that depend on the entire global history; and modular strategies, that have only local memory and thus do not depend on the context of invocation. a) Global strategis. We show that two-player games are undecidable. Hence, we focus on one-player games and give a polynomial algorithm. In addition, we show that oneplayer multidimensional pushdown mean-payoff games with conjunctive objective also have a polynomial solution. b) Modular strategies. We show that two-player games are decidable and give tight complexity bounds for solving mean-payoff pushdown games (when the protagonist is restricted to modular strategies). (iii) Applications. We show two applications for our results on multidimensional and infinite-state games. One application resides in the field of theoretical game theory where games are equipped with payoff matrices (rather than a payoff function that is represented by a graph), and one application is in the field of static program analysis. a) We apply the techniques for solving one-player multidimensional mean-payoff games on graphs and settle the complexity of finding an exact and optimal equilibrium in a multiplayer infinite-duration mean-payoff game (where the payoff of each move is represented by a payoff matrix). b) We apply and implement our one-player meanpayoff pushdown game algorithm for static interprocedural analysis that reason about quantitative properties of programs and present several concrete applications and case studies.