Applying abstract acceleration to (co-)reachability analysis of reactive programs

Acceleration methods are commonly used for computing precisely the effects of loops in the reachability analysis of counter machine models. Applying these methods on synchronous data-flow programs, e.g. Lustre programs, requires to deal with the non-deterministic transformations due to numerical input variables. In this article, we address this problem by extending the concept of abstract acceleration of Gonnord et al. to numerical input variables. Moreover, we describe the dual analysis for co-reachability. We compare our method with some alternative techniques based on abstract interpretation pointing out its advantages and limitations. At last, we give some experimental results.

[1]  Parosh Aziz Abdulla,et al.  Using Forward Reachability Analysis for Verification of Lossy Channel Systems , 2004, Formal Methods Syst. Des..

[2]  Richard Gerber,et al.  Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic , 1997, CAV.

[3]  Roberto Bagnara,et al.  Grids: A Domain for Analyzing the Distribution of Numerical Values , 2006, LOPSTR.

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

[5]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[6]  Alain Finkel,et al.  FASTer Acceleration of Counter Automata in Practice , 2004, TACAS.

[7]  Komei Fukuda,et al.  Double Description Method Revisited , 1995, Combinatorics and Computer Science.

[8]  Sébastien Jodogne,et al.  Hybrid Acceleration Using Real Vector Automata (Extended Abstract) , 2003, CAV.

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

[10]  Alain Finkel,et al.  How to Compose Presburger-Accelerations: Applications to Broadcast Protocols , 2002, FSTTCS.

[11]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[12]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[13]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[14]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[15]  Laurent Fribourg,et al.  Proving Safety Properties of Infinite State Systems by Compilation into Presburger Arithmetic , 1997, CONCUR.

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

[17]  Jeffrey D. Ullman,et al.  Monotone data flow analysis frameworks , 1977, Acta Informatica.

[18]  Bertrand Jeannet,et al.  Symbolic Test Selection Based on Approximate Analysis , 2005, TACAS.

[19]  J. Leroux,et al.  Algorithmique de la vérification des systèmes à compteurs : approximation et accélération, implémentation de l'outil FAST , 2003 .

[20]  M. Minsky Recursive Unsolvability of Post's Problem of "Tag" and other Topics in Theory of Turing Machines , 1961 .

[21]  Nicolas Halbwachs,et al.  Combining Widening and Acceleration in Linear Relation Analysis , 2006, SAS.

[22]  Nicolas Halbwachs,et al.  Verification of Real-Time Systems using Linear Relation Analysis , 1997, Formal Methods Syst. Des..

[23]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

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

[25]  Laure Petrucci,et al.  FAST: Fast Acceleration of Symbolikc Transition Systems , 2003, CAV.

[26]  Frédéric Mesnard,et al.  Computing convex hulls with a linear solver , 2003, Theory and Practice of Logic Programming.

[27]  Roberto Bagnara,et al.  Precise widening operators for convex polyhedra , 2003, Sci. Comput. Program..

[28]  gonnord Laure Danthony Accélération abstraite pour l'amélioration de la précision en Analyse des Relations Linéaires , 2007 .

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

[30]  Bertrand Jeannet,et al.  Dynamic Partitioning in Linear Relation Analysis: Application to the Verification of Reactive Systems , 2003, Formal Methods Syst. Des..

[31]  Nicolas Halbwachs,et al.  LUSTRE: a declarative language for real-time programming , 1987, POPL '87.

[32]  Bertrand Jeannet,et al.  Logico-Numerical Abstract Acceleration and Application to the Verification of Data-Flow Programs , 2011, SAS.

[33]  Gerhard Goos,et al.  Automated Technology for Verification and Analysis , 2004, Lecture Notes in Computer Science.

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

[35]  Patrice Godefroid,et al.  Symbolic Verification of Communication Protocols with Infinite State Spaces using QDDs , 1999, Formal Methods Syst. Des..

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

[37]  Philippe Schnoebelen,et al.  Flat Acceleration in Symbolic Model Checking , 2005, ATVA.

[38]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[39]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

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

[41]  Philippe Granger,et al.  Static Analysis of Linear Congruence Equalities among Variables of a Program , 1991, TAPSOFT, Vol.1.

[42]  Bertrand Jeannet,et al.  Extending Abstract Acceleration Methods to Data-Flow Programs with Numerical Inputs , 2010, NSAD@SAS.