Programs with floating-point calculations tend to give rise to hard-to-predict behavior. Such uncertainty cannot be ignored: floating-point errors can have catastrophic consequences, as it happened with the Patriot missile accident in 1991. The likelihood of such incidents can be decreased by using automated technology to reliably analyze numerical code. We present a symbolic execution approach to checking the accuracy of numerical programs, investigating how much a floating-point computation deviates from the "ideal" computation on real values. Our method is implemented in the Symbolic PathFinder tool and leverages and extends the floating-point decision procedure Realizer to check symbolic path constraints and to perform the accuracy checks. We further illustrate the possibility of using our tools to enhance abstract interpretation-based analyses to obtain tighter bounds on the numerical error introduced by floating-point computations. Initial experiments show the promise of our approach.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.