Loop Summarization with Rational Vector Addition Systems (extended version)

This paper presents a technique for computing numerical loop summaries. The method synthesizes a rational vector addition system with resets (Q-VASR) that simulates the action of an input loop, and then uses the reachability relation of that Q-VASR to over-approximate the behavior of the loop. The key technical problem solved in this paper is to automatically synthesize a Q-VASR that is a best abstraction of a given loop in the sense that (1) it simulates the loop and (2) it is simulated by any other Q-VASR that simulates the loop. Since our loop summarization scheme is based on computing the exact reachability relation of a best abstraction of a loop, we can make theoretical guarantees about its behavior. Moreover, we show experimentally that the technique is precise and performant in practice.

[1]  Joël Ouaknine,et al.  Polynomial Invariants for Affine Programs , 2018, LICS.

[2]  Laura Kovács,et al.  Invariant Generation for Multi-Path Loops with Polynomial Assignments , 2018, VMCAI.

[3]  Laura Kovács,et al.  Reasoning Algebraically About P-Solvable Loops , 2008, TACAS.

[4]  Zachary Kincaid,et al.  Non-linear reasoning for invariant synthesis , 2017, Proc. ACM Program. Lang..

[5]  Zachary Kincaid,et al.  Compositional recurrence analysis , 2015, 2015 Formal Methods in Computer-Aided Design (FMCAD).

[6]  David Monniaux A Quantifier Elimination Algorithm for Linear Real Arithmetic , 2008, LPAR.

[7]  Jorge A. Navas,et al.  The SeaHorn Verification Framework , 2015, CAV.

[8]  Zhong Shao,et al.  Compositional certified resource bounds , 2015, PLDI.

[9]  Christoph Haase,et al.  Integer Vector Addition Systems with States , 2014, RP.

[10]  Thomas W. Reps,et al.  A Method for Symbolic Computation of Abstract Operations , 2012, CAV.

[11]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

[12]  Zachary Kincaid,et al.  Compositional recurrence analysis revisited , 2017, PLDI.

[13]  Isil Dillig,et al.  Inductive invariant generation via abductive inference , 2013, OOPSLA.

[14]  Enric Rodríguez-Carbonell,et al.  Automatic Generation of Polynomial Loop Invariants: Algebraic Foundations , 2004, ISSAC '04.

[15]  Marsha Chechik,et al.  Symbolic optimization with SMT solvers , 2014, POPL.

[16]  Robert E. Tarjan,et al.  A Unified Approach to Path Problems , 1981, JACM.

[17]  Thomas W. Reps,et al.  Symbolic Implementation of the Best Transformer , 2004, VMCAI.

[18]  Serge Haddad,et al.  Complexity Analysis of Continuous Petri Nets , 2013, Fundam. Informaticae.

[19]  Helmut Veith,et al.  A simple and scalable static analysis for bound analysis and amortized complexity analysis , 2014, Software Engineering.

[20]  Alain Finkel,et al.  Approaching the Coverability Problem Continuously , 2016, TACAS.

[21]  Jochen Hoenicke,et al.  Ultimate Automizer and the Search for Perfect Interpolants - (Competition Contribution) , 2018, TACAS.