## 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.