Polynomial approximations of the relational semantics of imperativeprograms

We present a static analysis that approximates the relational semantics of imperative programs by systems of low-degree polynomial equalities. Our method is based on Abstract Interpretation in a lattice of polynomial pseudo ideals - finite-dimensional vector spaces of degree-bounded polynomials that are closed under degree-bounded products. For a fixed degree bound, the sizes of bases of pseudo ideals and the lengths of chains in the lattice of pseudo ideals are bounded by polynomials in the number of program variables. Despite the approximate nature of our analysis, for several programs taken from the literature on non-linear polynomial invariant generation our method produces results that are as precise as those produced by methods based on polynomial ideals and Grobner bases.

[1]  Isabella Mastroeni,et al.  Numerical Power Analysis , 2001, PADO.

[2]  Helmut Seidl,et al.  Precise interprocedural analysis through linear algebra , 2004, POPL.

[3]  Jacques Calmet Proceedings of the European Computer Algebra Conference on Computer Algebra , 1982 .

[4]  Zohar Manna,et al.  Logical analysis of programs , 1976, CACM.

[5]  David A. Cox,et al.  Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra, 3/e (Undergraduate Texts in Mathematics) , 2007 .

[6]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[7]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[8]  Henny B. Sipma,et al.  Non-linear loop invariant generation using Gröbner bases , 2004, POPL.

[9]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[10]  Enric Rodríguez-Carbonell,et al.  An Abstract Interpretation Approach for Automatic Generation of Polynomial Invariants , 2004, SAS.

[11]  Harlan D. Mills,et al.  Trace: Tennessee Research and CreativeExchange , 2022 .

[12]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[13]  Daniel Lazard,et al.  Gröbner-Bases, Gaussian elimination and resolution of systems of algebraic equations , 1983, EUROCAL.

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

[15]  Zohar Manna,et al.  Mathematical Theory of Computation , 2003 .

[16]  Michael Karr,et al.  Affine relationships among variables of a program , 1976, Acta Informatica.

[17]  Ali Mili A relational approach to the design of deterministic programs , 2004, Acta Informatica.

[18]  Patrick Cousot,et al.  Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, MFPS.

[19]  A. Meyer,et al.  The complexity of the word problems for commutative semigroups and polynomial ideals , 1982 .

[20]  Patrick Cousot,et al.  Automatic synthesis of optimal invariant assertions: Mathematical foundations , 1977 .

[21]  Michael Colón,et al.  Approximating the Algebraic Relational Semantics of Imperative Programs , 2004, SAS.

[22]  Jean-Pierre Jouannaud,et al.  Proceedings of the International Joint Conference CAAP/FASE on Theory and Practice of Software Development , 1993 .

[23]  Chee-Keng Yap,et al.  A New Lower Bound Construction for Commutative Thue Systems with aApplications , 1991, J. Symb. Comput..

[24]  Henny B. Sipma,et al.  Linear Invariant Generation Using Non-linear Constraint Solving , 2003, CAV.

[25]  Patrick Cousot Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, Theor. Comput. Sci..

[26]  Jan Maluszynski,et al.  Proceedings of the 3rd International Symposium on Programming Language Implementation and Logic Programming , 1991 .

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

[28]  Steven M. German,et al.  A Synthesizer of Inductive Assertions , 1975, IEEE Trans. Software Eng..

[29]  Jim Hefferon,et al.  Linear Algebra , 2012 .

[30]  Ben Wegbreit,et al.  Property extraction in well-founded property sets , 1975, IEEE Transactions on Software Engineering.

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

[32]  Heinz Kredel,et al.  Gröbner Bases: A Computational Approach to Commutative Algebra , 1993 .

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

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