A non-local method for robustness analysis of floating point programs

Ivan Gazeau
(INRIA and LIX, Ecole Polytechnique)
Dale Miller
(INRIA and LIX, Ecole Polytechnique)
Catuscia Palamidessi
(INRIA and LIX, Ecole Polytechnique)

Robustness is a standard correctness property which intuitively means that if the input to the program changes less than a fixed small amount then the output changes only slightly. This notion is useful in the analysis of rounding error for floating point programs because it helps to establish bounds on output errors introduced by both measurement errors and by floating point computation. Compositional methods often do not work since key constructs—like the conditional and the while-loop—are not robust. We propose a method for proving the robustness of a while-loop. This method is non-local in the sense that instead of breaking the analysis down to single lines of code, it checks certain global properties of its structure. We show the applicability of our method on two standard algorithms: the CORDIC computation of the cosine and Dijkstra's shortest path algorithm.

In Herbert Wiklicky and Mieke Massink: Proceedings 10th Workshop on Quantitative Aspects of Programming Languages and Systems (QAPL 2012), Tallinn, Estonia, 31 March and 1 April 2012, Electronic Proceedings in Theoretical Computer Science 85, pp. 63–76.
Published: 3rd July 2012.

ArXived at: http://dx.doi.org/10.4204/EPTCS.85.5 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org