Precise Relational Invariants Through Strategy Iteration

We present a practical algorithm for computing exact least solutions of systems of equations over the rationals with addition, multiplication with positive constants, minimum and maximum. The algorithm is based on strategy improvement combined with solving linear programming problems for each selected strategy. We apply our technique to compute the abstract least fixpoint semantics of affine programs over the relational template constraint matrix domain [20]. In particular, we thus obtain practical algorithms for computing the abstract least fixpoint semantics over the zone and octagon abstract domain.

[1]  Antoine Mid The Octagon Abstract Domain , 2001 .

[2]  SeidlHelmut,et al.  Precise interprocedural analysis through linear algebra , 2004 .

[3]  R. Karp,et al.  On Nonterminating Stochastic Games , 1966 .

[4]  Harald Ganzinger,et al.  Programs as Data Objects , 1986, Lecture Notes in Computer Science.

[5]  Ankur Taly,et al.  Static Analysis by Policy Iteration on Relational Domains , 2007, ESOP.

[6]  Marcin Jurdzinski,et al.  A Discrete Strategy Improvement Algorithm for Solving Parity Games , 2000, CAV.

[7]  Antoine Miné,et al.  A New Numerical Abstract Domain Based on Difference-Bound Matrices , 2001, PADO.

[8]  Helmut Seidl,et al.  Precise interprocedural analysis through linear algebra , 2004, POPL.

[9]  Patrick Cousot,et al.  Static determination of dynamic properties of programs , 1976 .

[10]  Henrik Björklund,et al.  Complexity of Model Checking by Iterative Improvement: The Pseudo-Boolean Framework , 2003, Ershov Memorial Conference.

[11]  Henny B. Sipma,et al.  Scalable Analysis of Linear Systems Using Mathematical Programming , 2005, VMCAI.

[12]  Jean Cochet-Terrasson A constructive xed point theorem for min-max functions , 1999 .

[13]  Patrick Cousot,et al.  Static Determination of Dynamic Properties of Recursive Procedures , 1977, Formal Description of Programming Concepts.

[14]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.

[15]  Ronald A. Howard,et al.  Dynamic Programming and Markov Processes , 1960 .

[16]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[17]  Marcel Erné,et al.  A Primer on Galois Connections , 1993 .

[18]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[19]  Nimrod Megiddo,et al.  Advances in Economic Theory: On the complexity of linear programming , 1987 .

[20]  David K. Smith Theory of Linear and Integer Programming , 1987 .

[21]  Helmut Seidl,et al.  Precise Fixpoint Computation Through Strategy Iteration , 2007, ESOP.

[22]  Eric Goubault,et al.  A Policy Iteration Algorithm for Computing Fixed Points in Static Analysis of Programs , 2005, CAV.

[23]  A. Puri Theory of hybrid systems and discrete event systems , 1996 .

[24]  M. G. Rekoff,et al.  On reverse engineering , 1985, IEEE Transactions on Systems, Man, and Cybernetics.

[25]  Manfred Broy,et al.  Perspectives of System Informatics , 2001, Lecture Notes in Computer Science.

[26]  Martin L. Puterman,et al.  Markov Decision Processes: Discrete Stochastic Dynamic Programming , 1994 .

[27]  Antoine Miné,et al.  The octagon abstract domain , 2001, High. Order Symb. Comput..