Generating formally certified bounds on values and round-off errors

We present a new tool that generates bounds on the values and the round-off errors of programs using floating point operations. The tool is based on forward error analysis and interval arithmetic. The novelty of our tool is that it produces a formal proof of the bounds that can be checked independently using an automatic proof checker such as Coq and a complete model of floating point arithmetic. For the first time ever, we can easily certify that simple numerical programs such as the ones usually found in real time applications do not overflow and that round-off errors are below acceptable thresholds. Such level of quality should be compulsory on safety critical applications. As our tool is easy to handle, it could also be used for many pieces of software.

[1]  William Kahan,et al.  Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic , 1996 .

[2]  P. M. Melliar-Smith,et al.  Synchronizing clocks in the presence of faults , 1985, JACM.

[3]  J. Rushby,et al.  Formal verification of algorithms for critical systems , 1991, SIGSOFT '91.

[4]  John C. Cherniavsky,et al.  Validation, Verification, and Testing of Computer Software , 1982, CSUR.

[5]  Luc Jaulin,et al.  Applied Interval Analysis , 2001, Springer London.

[6]  Ping Tak Peter Tang,et al.  Table-lookup algorithms for elementary functions and their error analysis , 1991, [1991] Proceedings 10th IEEE Symposium on Computer Arithmetic.

[7]  Eric Goubault,et al.  Static Analysis-Based Validation of Floating-Point Computations , 2003, Numerical Software with Result Verification.

[8]  Pat H. Sterbenz,et al.  Floating-point computation , 1973 .

[9]  Sylvie Boldo,et al.  A Simple Test Qualifying the Accuracy of Horner'S Rule for Polynomials , 2004, Numerical Algorithms.

[10]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[11]  Sylvie Boldo,et al.  Properties of two’s complement floating point notations , 2004, International Journal on Software Tools for Technology Transfer.

[12]  John Harrison,et al.  Floating Point Verification in HOL Light: The Exponential Function , 1997, Formal Methods Syst. Des..

[13]  Sylvie Boldo,et al.  Theorems on efficient argument reductions , 2003, Proceedings 2003 16th IEEE Symposium on Computer Arithmetic.

[14]  A. Neumaier Interval methods for systems of equations , 1990 .

[15]  Victor Carreño,et al.  Formal Verification of Conflict Detection Algorithms , 2001, CHARME.

[16]  Nicholas J. Higham,et al.  INVERSE PROBLEMS NEWSLETTER , 1991 .

[17]  Nicolas Magaud,et al.  A Proof of GMP Square Root , 2004, Journal of Automated Reasoning.

[18]  Laurence Rideau,et al.  A Generic Library for Floating-Point Numbers and Its Application to Exact Computing , 2001, TPHOLs.

[19]  Guillaume Melquiond,et al.  The Boost Interval Arithmetic Library , 2003 .

[20]  Christine Paulin-Mohring,et al.  The Coq Proof Assistant : A Tutorial : Version 7.2 , 1997 .

[21]  Steven D. Johnson,et al.  Hardware Verification Using Coinductive Assertions , 1998 .

[22]  J. L. Lions ARIANE 5 Flight 501 Failure: Report by the Enquiry Board , 1996 .