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 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] .