Linear Approximation of Continuous Systems with Trapezoid Step Functions

We introduce a novel abstract domain for the safe approximation of continuous functions in the context of abstract interpretation-based static analysis. The key-idea is to represent \(\mathcal{C}_+^2\) functions by a finite sequence of trapezoids. In this way, we get a strictly more precise approximation of the actual values with respect to existing approaches in the literature. Experimental results underline the effectiveness of the approach in terms of both precision and efficiency.

[1]  Dick Hamlet,et al.  Continuity in software systems , 2002, ISSTA '02.

[2]  Alberto Bressan,et al.  Directionally continuous selection in Banach spaces , 1989 .

[3]  Abbas Edalat,et al.  Domain theory and differential calculus (functions of one variable) , 2004, Math. Struct. Comput. Sci..

[4]  Nicolas Halbwachs,et al.  Verification of Linear Hybrid Systems by Means of Convex Approximations , 1994, SAS.

[5]  Matthieu Martel,et al.  Abstract Interpretation of the Physical Inputs of Embedded Programs , 2008, VMCAI.

[6]  Agostino Cortesi Widening Operators for Abstract Interpretation , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

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

[8]  Ivan Tomek,et al.  Two Algorithms for Piecewise-Linear Continuous Approximation of Functions of One Variable , 1974, IEEE Transactions on Computers.

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

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

[11]  O. Bouissou,et al.  GRKLib: a Guaranteed Runge Kutta Library , 2006, 12th GAMM - IMACS International Symposium on Scientific Computing, Computer Arithmetic and Validated Numerics (SCAN 2006).

[12]  Sumit Gulwani,et al.  Continuity analysis of programs , 2010, POPL '10.

[13]  Sung Mo Kang,et al.  Section-wise piecewise-linear functions: Canonical representation, properties, and applications , 1977, Proceedings of the IEEE.

[14]  Eric Goubault,et al.  HybridFluctuat: A Static Analyzer of Numerical Programs within a Continuous Environment , 2009, CAV.

[15]  Gengdong Cheng,et al.  OPTIMAL BOUNDING OF CURVES BY CONTINUOUS PIECEWISE LINEAR FUNCTIONS , 1993 .

[16]  L. Chua,et al.  A generalized canonical piecewise-linear representation , 1990 .

[17]  Sumit Gulwani,et al.  Proving programs robust , 2011, ESEC/FSE '11.

[18]  Hiroshi Imai,et al.  An optimal algorithm for approximating a piecewise linear function , 1986 .

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

[20]  Elvira Albert,et al.  Cost Analysis of Java Bytecode , 2007, ESOP.

[21]  Patrick Cousot,et al.  A static analyzer for large safety-critical software , 2003, PLDI '03.

[22]  Panos J. Antsaklis,et al.  Hybrid Systems II , 1994, Lecture Notes in Computer Science.

[23]  Agostino Cortesi,et al.  Widening and narrowing operators for abstract interpretation , 2011, Comput. Lang. Syst. Struct..

[24]  Matthieu Martel,et al.  Some future challenges in the validation of control systems , 2006 .

[25]  Jérôme Feret,et al.  Static Analysis of Digital Filters , 2004, ESOP.

[26]  Thomas A. Henzinger,et al.  A Note on Abstract Interpretation Strategies for Hybrid Automata , 1994, Hybrid Systems.

[27]  Antoine Miné,et al.  The octagon abstract domain , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[28]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[29]  Benjamin C. Pierce,et al.  Distance makes the types grow stronger: a calculus for differential privacy , 2010, ICFP '10.

[30]  Dick Hamlet,et al.  Continuity in sofware systems. , 2002 .

[31]  J. Aubin,et al.  Differential inclusions set-valued maps and viability theory , 1984 .