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 Boutonnet | 1 | 0 | 0.34 |
Nicolas Halbwachs | 2 | 0 | 0.34 |