Abstract

Programs with oating-point calculations tend to give rise to hard-to-predict behavior. Such uncertainty cannot be ignored: oating-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 oating-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 oating-point computations. Initial experiments show the promise of our approach.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call