Improving the results of program analysis by abstract interpretation beyond the decreasing sequence - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Formal Methods in System Design Année : 2018

Improving the results of program analysis by abstract interpretation beyond the decreasing sequence

Rémy Boutonnet
  • Fonction : Auteur
Nicolas Halbwachs
  • Fonction : Auteur

Résumé

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.
Fichier principal
Vignette du fichier
fmsd18.pdf (426.91 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-02006442 , version 1 (04-02-2019)

Identifiants

Citer

Rémy Boutonnet, Nicolas Halbwachs. Improving the results of program analysis by abstract interpretation beyond the decreasing sequence. Formal Methods in System Design, 2018, 53 (3), pp.384-406. ⟨10.1007/s10703-017-0310-y⟩. ⟨hal-02006442⟩
37 Consultations
107 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More