Verifying floating-point programs with constraint programming and abstract interpretation techniques - Archive ouverte HAL
Pré-Publication, Document De Travail Année : 2013

Verifying floating-point programs with constraint programming and abstract interpretation techniques

Résumé

Static value analysis is a classical approach for verifying programs with floating-point computations. Value analysis mainly relies on abstract interpretation and over-approximates the possible values of program variables. State-of-the-art tools may however compute over-approximations that can be rather coarse for some very usual program expressions. In this paper, we show that constraint solvers can significantly refine approximations computed with abstract interpretation tools. More precisely, we introduce a hybrid approach that combines abstract interpretation and constraint programming techniques in a single static and automatic analysis. We compared the efficiency of the system we developed---named rAiCp---with state-of-the-art static analyzers: rAiCp produces substantially more precise approximations and is able to check program properties on both academic and industrial benchmarks.
Fichier principal
Vignette du fichier
raicp.pdf (804.97 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00860681 , version 1 (10-09-2013)
hal-00860681 , version 2 (03-03-2014)

Identifiants

  • HAL Id : hal-00860681 , version 1

Citer

Olivier Ponsini, Claude Michel, Michel Rueher. Verifying floating-point programs with constraint programming and abstract interpretation techniques. 2013. ⟨hal-00860681v1⟩
296 Consultations
794 Téléchargements

Partager

More