EN FR
EN FR


Section: New Results

Fast inference of polynomial invariants

Participants : David Cachera, Thomas Jensen, Arnaud Jobin, Florent Kirchner.

The problem of automatically inferring polynomial (non-linear) invariants of programs is still a major challenge in program verification. We have proposed an abstract interpretation based method to compute polynomial invariants for imperative programs. Our analysis is a backward propagation approach that computes preconditions for equalities like g=0 to hold at the end of execution. Properties are expressed using ideals, a structure that satisfies the descending chain condition, enabling fixpoints computations to terminate without use of a widening operator. In the general case, termination would be characterized using ideal membership tests and Gröbner bases computations. In order to optimize computational complexity, we propose a specialized analysis dealing with inductive invariants which ensures fast termination of fixpoints computations. The optimized procedure has been shown by experiments to work well in practice, and to be two orders of magnitude faster than state of the art analyzers [23] .