Keywords : roundoff error, formal proof, certification, floating-point arithmetic, fixed-point arithmetic.
Gappa: a Tool for Certifying Numerical Programs
Given a logical property involving interval enclosures of mathematical expressions, Gappa tries to verify this property and generates a formal proof of its validity. This formal proof can be machine-checked by an independent tool like the Coq proof-checker, so as to reach a high level of confidence in the certification.
Since these mathematical expressions can contain rounding operators in addition to usual arithmetic operators, Gappa is especially well suited to prove properties that arise when certifying a numerical application, be it floating-point or fixed-point. Gappa makes it easy to compute ranges of variables and bounds on absolute or relative roundoff errors.
Various people use this tool in order to certify their numerical code. For example, in CRlibm, floating-point elementary functions are proved with its help (see § 6.4 ).
Status: Beta release/ Target: any / License: GPL / OS: any / Programming Language: C++ / URL: http://lipforge.ens-lyon.fr/www/gappa