Section: Software
The Gappa tool
Participant : Guillaume Melquiond [ contact ] .
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 [15] .
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.
Gappa is being used to certify parts of the mathematical libraries of several projects, including CRlibm, FLIP, and CGAL. It is distributed as open source, under a Cecill-B / GPL dual-license, at http://gappa.gforge.inria.fr/ . Part of the work on this tool was done while in the Arénaire team (INRIA Rhône-Alpes).
Gappa can also act as a backend for the Coq proof assistant in order to prove properties related to the certification of floating-point programs [20] . In 2009, the support of Gappa as an automated prover for the Why system has also been greatly improved.