Symbolic execution of floating-point computations - Inria - Institut national de recherche en sciences et technologies du numérique
Article Dans Une Revue Journal of Software Testing, Verification and Reliability Année : 2006

Symbolic execution of floating-point computations

Résumé

Symbolic execution is a classical program testing technique which evaluates a selected control flow path with symbolic input data. A constraint solver can be used to enforce the satisfiability of the extracted path conditions as well as to derive test data. Whenever path conditions contain floating-point computations, a common strategy consists of using a constraint solver over the rationals or the reals. Unfortunately, even in a fully IEEE-754 compliant environment, this leads not only to approximations but also can compromise correctness: a path can be labelled as infeasible although there exists floating-point input data that satisfy it. In this paper, we address the peculiarities of the symbolic execution of program with floating-point numbers. Issues in the symbolic execution of this kind of programs are carefully examined and a constraint solver is described that supports constraints over floating-point numbers. Preliminary experimental results demonstrate the value of our approach.
Fichier principal
Vignette du fichier
stvr.pdf (418.54 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

inria-00540299 , version 1 (01-12-2010)

Identifiants

Citer

Bernard Botella, Arnaud Gotlieb, Claude Michel. Symbolic execution of floating-point computations. Journal of Software Testing, Verification and Reliability, 2006, 16 (2), pp.97-121. ⟨10.1002/stvr.333⟩. ⟨inria-00540299⟩
426 Consultations
679 Téléchargements

Altmetric

Partager

More