Title
Improving the results of program analysis by abstract interpretation beyond the decreasing sequence.
Abstract
The classical method for program analysis by abstract interpretation consists in computing first an increasing sequence using an extrapolation operation, called widening, to correctly approximate the limit of the sequence. Then, this approximation is improved by computing a decreasing sequence without widening, the terms of which are all correct, more and more precise approximations. It is generally admitted that, when the decreasing sequence reaches a fixpoint, it cannot be improved further. As a consequence, most efforts for improving the precision of an analysis have been devoted to improving the limit of the increasing sequence. In a previous paper, we proposed a method to improve a fixpoint after its computation. This method consists in computing from the obtained solution a new starting value from which increasing and decreasing sequences are computed again. The new starting value is obtained by projecting the solution onto well-chosen components. The present paper extends and improves the previous paper: the method is discussed in view of some example programs for which it fails. A new method is proposed to choose the restarting value: the restarting value is no longer a simple projection, but is built by gathering and combining information backward the widening nodes in the basic solution. Experiments show that the new method properly solves all our examples, and improves significantly the results obtained on a classical benchmark.
Year
DOI
Venue
2018
10.1007/s10703-017-0310-y
Formal Methods in System Design
Keywords
Field
DocType
Program analysis, Abstract Interpretation, Widening/narrowing, Fixpoint approximation, Fixpoint improvement
Abstract interpretation,Computer science,Theoretical computer science,Extrapolation,Program analysis,Fixed point,Computation
Journal
Volume
Issue
ISSN
53
3
0925-9856
Citations 
PageRank 
References 
0
0.34
31
Authors
2
Name
Order
Citations
PageRank
Rémy Boutonnet100.34
Nicolas Halbwachs200.34