The arithmetic-geometric progression abstract domain

J Feret - … , Model Checking, and Abstract Interpretation: 6th …, 2005 - Springer
Verification, Model Checking, and Abstract Interpretation: 6th International …, 2005Springer
We present a new numerical abstract domain. This domain automatically detects and proves
bounds on the values of program variables. For that purpose, it relates variable values to a
clock counter. More precisely, it bounds these values with the i-th iterate of the function [X↦
α× X+ β] applied on M, where i denotes the clock counter and the floating-point numbers α,
β, and M are discovered by the analysis. Such properties are especially useful to analyze
loops in which a variable is iteratively assigned with a barycentric mean of the values that …
Abstract
We present a new numerical abstract domain. This domain automatically detects and proves bounds on the values of program variables. For that purpose, it relates variable values to a clock counter. More precisely, it bounds these values with the i-th iterate of the function [Xα×X + β] applied on M, where i denotes the clock counter and the floating-point numbers α, β, and M are discovered by the analysis. Such properties are especially useful to analyze loops in which a variable is iteratively assigned with a barycentric mean of the values that were associated with the same variable at some previous iterations. Because of rounding errors, the computation of this barycenter may diverge when the loop is iterated forever. Our domain provides a bound that depends on the execution time of the program.
Springer