Parametric Strategy Iteration

Program behavior may depend on parameters, which are either configured before compilation time, or provided at run-time, e.g., by sensors or other input devices. Parametric program analysis explores how different parameter settings may affect the program behavior. In order to infer invariants depending on parameters, we introduce parametric strategy iteration. This algorithm determines the precise least solution of systems of integer equations depending on surplus parameters. Conceptually, our algorithm performs ordinary strategy iteration on the given integer system for all possible parameter settings in parallel. This is made possible by means of region trees to represent the occurring piecewise affine functions. We indicate that each required operation on these trees is polynomial-time if only constantly many parameters are involved. Parametric strategy iteration for systems of integer equations allows to construct parametric integer interval analysis as well as parametric analysis of differences of integer variables. It thus provides a general technique to realize precise parametric program analysis if numerical properties of integer variables are of concern.

[1]  Jan Reineke,et al.  Architecture-parametric timing analysis , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[2]  Gogul Balakrishnan,et al.  Donut Domains: Efficient Non-convex Domains for Abstract Interpretation , 2012, VMCAI.

[3]  Gianluca Amato,et al.  Localizing Widening and Narrowing , 2013, SAS.

[4]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[5]  David Monniaux,et al.  Quantifier Elimination by Lazy Model Enumeration , 2010, CAV.

[6]  Sagar Chaki,et al.  Decision diagrams for linear arithmetic , 2009, 2009 Formal Methods in Computer-Aided Design.

[7]  Isil Dillig,et al.  Cuts from proofs: a complete and practical technique for solving linear inequalities over integers , 2009, Formal Methods Syst. Des..

[8]  A. Holder Parametric LP Analysis , 2011 .

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

[10]  Xavier Rival,et al.  Trace Partitioning in Abstract Interpretation Based Static Analyzers , 2005, ESOP.

[11]  Sagar Chaki,et al.  Efficient Predicate Abstraction of Program Summaries , 2011, NASA Formal Methods.

[12]  L. Khachiyan Polynomial algorithms in linear programming , 1980 .

[13]  Roberto Bagnara,et al.  The Parma Polyhedra Library: Toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems , 2006, Sci. Comput. Program..

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

[15]  David Monniaux,et al.  Automatic modular abstractions for linear constraints , 2008, POPL '09.

[16]  Sagar Chaki,et al.  Boxes: A Symbolic Abstract Domain of Boxes , 2010, SAS.

[17]  Jesús A. De Loera,et al.  Three Kinds of Integer Programming Algorithms Based on Barvinok's Rational Functions , 2004, IPCO.

[18]  Helmut Seidl,et al.  Precise Interval Analysis vs. Parity Games , 2008, FM.

[19]  Gert Vegter,et al.  In handbook of discrete and computational geometry , 1997 .

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

[21]  John M. Wilson,et al.  Advances in Sensitivity Analysis and Parametric Programming , 1998, J. Oper. Res. Soc..

[22]  Helmut Seidl,et al.  Abstract Interpretation over Zones without Widening , 2012, WING@ETAPS/IJCAR.

[23]  Axel Simon,et al.  Widening as Abstract Domain , 2013, NASA Formal Methods.

[24]  László Lovász,et al.  Factoring polynomials with rational coefficients , 1982 .