Some Experience on the Software Engineering of Abstract Interpretation Tools

Bertrand Jeannet 1, *
* Auteur correspondant
1 POP ART - Programming languages, Operating Systems, Parallelism, and Aspects for Real-Time
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble
Abstract : The "right" way of writing and structuring compilers is well-known. The situation is a bit less clear for static analysis tools. It seems to us that a static analysis tool is ideally decomposed into three building blocks: (1) a front-end, which parses programs, generates semantic equations, and supervises the analysis process; (2) a fixpoint equation solver, which takes equations and solves them; (3) and an abstract domain, on which equations are interpreted. The expected advantages of such a modular structure is the ability of sharing development efforts between analyzers for different languages, using common solvers and abstract domains. However putting in practice such ideal concepts is not so easy, and some static analyzers merge for instance the blocks (1) and (2). We show how we instantiated these principles with three different static analyzers (addressing resp. imperative sequential programs, imperative concurrent programs, and synchronous dataflow programs), a generic fixpoint solver (Fixpoint), and two different abstract domains. We discussed our experience on the advantages and the limits of this approach compared to related work.
Type de document :
Communication dans un congrès
Int. Workshop on Tools for Automatic Program AnalysiS, Tapas'2010, Sep 2010, Perpignan, France. Elsevier, x-proceedings =yes, x-editorial-board =yes, x-international-audience =yes, 267, pp.29--42, 2010, 〈10.1016/j.entcs.2010.09.016〉
Liste complète des métadonnées

https://hal.inria.fr/hal-00786328
Contributeur : Bertrand Jeannet <>
Soumis le : vendredi 8 février 2013 - 13:31:44
Dernière modification le : jeudi 11 octobre 2018 - 08:48:03

Lien texte intégral

Identifiants

Collections

Citation

Bertrand Jeannet. Some Experience on the Software Engineering of Abstract Interpretation Tools. Int. Workshop on Tools for Automatic Program AnalysiS, Tapas'2010, Sep 2010, Perpignan, France. Elsevier, x-proceedings =yes, x-editorial-board =yes, x-international-audience =yes, 267, pp.29--42, 2010, 〈10.1016/j.entcs.2010.09.016〉. 〈hal-00786328〉

Partager

Métriques

Consultations de la notice

100