Inference of polynomial invariants for imperative programs: A farewell to Grobner bases

被引:12
|
作者
Cachera, David [1 ,2 ]
Jensen, Thomas [2 ,3 ]
Jobin, Arnaud [1 ,2 ]
Kirchner, Florent [4 ]
机构
[1] ENS Cachan, Antenne Bretagne, Bruz, France
[2] IRISA, Rennes, France
[3] Inria Rennes, Bretagne Atlantique, Rennes, France
[4] CEA, LIST, Gif Sur Yvette, France
关键词
Polynomial invariants; Static analysis; Abstract interpretation; GENERATION;
D O I
10.1016/j.scico.2014.02.028
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The article presents a static analysis for computing polynomial invariants for imperative programs. The analysis is derived from an abstract interpretation of a backwards semantics, and computes preconditions for equalities of the form g = 0 to hold at the end of execution. A distinguishing feature of the technique is that it computes polynomial loop invariants without resorting to Grobner base computations. The analysis uses remainder computations over parameterized polynomials in order to handle conditionals and loops efficiently. The algorithm can analyze and find a large majority of loop invariants reported previously in the literature, and executes significantly faster than implementations using Grobner bases. (C) 2014 Elsevier B.V. All rights reserved.
引用
收藏
页码:89 / 109
页数:21
相关论文
共 50 条