Why does Astrée scale up?

Patrick Cousot 1 Radhia Cousot 1 Jérôme Feret 2 Laurent Mauborgne 1 Antoine Miné 1 Xavier Rival 2
2 ABSTRACTION - Abstract Interpretation and Static Analysis
DI-ENS - Département d'informatique de l'École normale supérieure, ENS Paris - École normale supérieure - Paris, Inria Paris-Rocquencourt, CNRS - Centre National de la Recherche Scientifique : UMR 8548
Abstract : Astrée was the first static analyzer able to prove automatically the total absence of runtime errors of actual industrial programs of hundreds of thousand lines. What makes Astrée such an innovative tool is its scalability, while retaining the required precision, when it is used to analyze a specific class of programs: that of reactive control-command software. In this paper, we discuss the important choice of algorithms and data-structures we made to achieve this goal. However, what really made this task possible was the ability to also take semantic decisions, without compromising soundness, thanks to the abstract interpretation framework. We discuss the way the precision of the semantics was tuned in Astrée in order to scale up, the differences with some more academic approaches and some of the dead-ends we explored. In particular, we show a development process which was not specific to the particular usage Astrée was built for, hoping that it might prove helpful in building other scalable static analyzers.
Type de document :
Article dans une revue
Formal Methods in System Design, Springer Verlag, 2009, Special issue on Numerical Software Verification, 35 (3), pp.229-264. 〈10.1007/s10703-009-0089-6〉
Liste complète des métadonnées

https://hal.inria.fr/inria-00528582
Contributeur : Jérôme Feret <>
Soumis le : vendredi 22 octobre 2010 - 09:50:14
Dernière modification le : jeudi 11 janvier 2018 - 06:22:10

Identifiants

Collections

Citation

Patrick Cousot, Radhia Cousot, Jérôme Feret, Laurent Mauborgne, Antoine Miné, et al.. Why does Astrée scale up?. Formal Methods in System Design, Springer Verlag, 2009, Special issue on Numerical Software Verification, 35 (3), pp.229-264. 〈10.1007/s10703-009-0089-6〉. 〈inria-00528582〉

Partager

Métriques

Consultations de la notice

168