Transitive Closures of Affine Integer Tuple Relations and Their Overapproximations

The set of paths in a graph is an important concept with many applications in system analysis. In the context of integer tuple relations, which can be used to represent possibly infinite graphs, this set corresponds to the transitive closure of the relation representing the graph. Relations described using only affine constraints and projection are fairly efficient to use in practice and capture Presburger arithmetic. Unfortunately, the transitive closure of such a quasi-affine relation may not be quasi-affine and so there is a need for approximations. In particular, most applications in system analysis require overapproximations. Previous work has mostly focused either on underapproximations or special cases of affine relations. We present a novel algorithm for computing overapproximations of transitive closures for the general case of quasi-affine relations (convex or not). Experiments on non-trivial relations from real-world applications show our algorithm to be on average more accurate and faster than the best known alternatives.

[1]  Laure Petrucci,et al.  FAST: acceleration from theory to practice , 2008, International Journal on Software Tools for Technology Transfer.

[2]  Cédric Bastoul,et al.  Code generation in the polyhedral model is easier than you think , 2004, Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004..

[3]  Hubert Comon-Lundh,et al.  Multiple Counters Automata, Safety Analysis and Presburger Arithmetic , 1998, CAV.

[4]  Paul Feautrier,et al.  Bounding the Computational Complexity of Flowchart Programs with Multi-dimensional Rankings , 2010 .

[5]  Richard Gerber,et al.  Model-checking concurrent systems with unbounded integer variables: symbolic representations, approximations, and experimental results , 1999, TOPL.

[6]  Andrés Iglesias,et al.  Mathematical Software - ICMS 2006, Second International Congress on Mathematical Software, Castro Urdiales, Spain, September 1-3, 2006, Proceedings , 2006, ICMS.

[7]  Albert Cohen,et al.  Maximal Static Expansion , 1998, POPL '98.

[8]  Mohamed Nassim Seghir,et al.  A Lightweight Approach for Loop Summarization , 2011, ATVA.

[9]  Marius Bozga,et al.  Iterating Octagons , 2009, TACAS.

[10]  C. H. Huang Languages and compilers for parallel computing : 8th International Workshop, LCPC '95, Columbus, Ohio, USA, August 10-12, 1995 : proceedings , 1996 .

[11]  Patrice Quinton,et al.  Computability of recurrence equations , 1993, Theor. Comput. Sci..

[12]  Alain Darte,et al.  The Data Parallel Programming Model , 1996 .

[13]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[14]  Sven Verdoolaege,et al.  isl: An Integer Set Library for the Polyhedral Model , 2010, ICMS.

[15]  Bernard Boigelot Symbolic Methods for Exploring Infinite State Spaces , 1998 .

[16]  Frédéric Herbreteau,et al.  The Power of Hybrid Acceleration , 2006, CAV.

[17]  Albert Cohen,et al.  Coarse-Grained Loop Parallelization: Iteration Space Slicing vs Affine Transformations , 2009, ISPDC.

[18]  Joris van der Hoeven,et al.  Mathematical Software - ICMS 2010, Third International Congress on Mathematical Software, Kobe, Japan, September 13-17, 2010. Proceedings , 2010, ICMS.

[19]  Martin Griebl,et al.  Index Set Splitting , 2000, International Journal of Parallel Programming.

[20]  Paul Feautrier The Data Parallel Programming Model , 1996, Lecture Notes in Computer Science.

[21]  Marius Bozga,et al.  Fast Acceleration of Ultimately Periodic Relations , 2010, CAV.

[22]  Pierre Wolper,et al.  Symbolic Verification with Periodic Sets , 1994, CAV.

[23]  Paul Feautrier,et al.  On the Equivalence of Two Systems of Affine Recurrence Equations (Research Note) , 2002, Euro-Par.

[24]  William Pugh,et al.  An Exact Method for Analysis of Value-based Array Data Dependences , 1993, LCPC.

[25]  Mahesh Viswanathan,et al.  LEVER: A Tool for Learning Based Verification , 2006, International Conference on Computer Aided Verification.

[26]  Gerda Janssens,et al.  Equivalence checking of static affine programs using widening to handle recurrences , 2008, TOPL.

[27]  Wlodzimierz Bielecki,et al.  Calculating Exact Transitive Closure for a Normalized Affine Integer Tuple Relation , 2009, Electron. Notes Discret. Math..

[28]  D J Evans,et al.  Parallel processing , 1986 .

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

[30]  Henny B. Sipma,et al.  Constraint-Based Linear-Relations Analysis , 2004, SAS.

[31]  William Pugh,et al.  Transitive Closure of Infinite Graphs and its Applications , 1995, Int. J. Parallel Program..

[32]  Yves Robert,et al.  Scheduling and Automatic Parallelization , 2000, Birkhäuser Boston.

[33]  Paul Feautrier,et al.  Automatic Parallelization in the Polytope Model , 1996, The Data Parallel Programming Model.

[34]  Anna Beletska,et al.  An Iterative Algorithm of Computing the Transitive Closure of a Union of Parameterized Affine Integer Tuple Relations , 2010, COCOA.

[35]  Paul Feautrier,et al.  Accelerated Invariant Generation for C Programs with Aspic and C2fsm , 2010, Electron. Notes Theor. Comput. Sci..

[36]  Valentin Goranko,et al.  Towards a Model-Checker for Counter Systems , 2006, ATVA.

[37]  Corinne Ancourt,et al.  A Modular Static Analysis Approach to Affine Loop Invariants Detection , 2010, Electron. Notes Theor. Comput. Sci..

[38]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[39]  Albert Cohen,et al.  Computing the Transitive Closure of a Union of Affine Integer Tuple Relations , 2009, COCOA.

[40]  G. Shipman,et al.  Omega Library , 2011, Encyclopedia of Parallel Computing.

[41]  Jacques Sakarovitch,et al.  Introducing VAUCANSON , 2004, Theor. Comput. Sci..

[42]  Martin Griebl,et al.  On index set splitting , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[43]  P. Feautrier Parametric integer programming , 1988 .

[44]  Wei-Ngan Chin,et al.  Calculating Sized Types , 1999, PEPM '00.

[45]  Stefan Kowalewski,et al.  Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, , 2009 .