Symbolic execution of floating-point computations - Archive ouverte HAL Access content directly
Journal Articles Journal of : Software Testing, Verification and Reliability Year : 2006

Symbolic execution of floating-point computations

(1) , (2) , (3)


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
Origin : Files produced by the author(s)

Dates and versions

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



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⟩
393 View
541 Download



Gmail Facebook Twitter LinkedIn More