Wave Equation Numerical Resolution: a Comprehensive Mechanized Proof of a C Program

Sylvie Boldo 1, 2 Francois Clement 3 Jean-Christophe Filliâtre 1, 2 Micaela Mayero 4, 5 Guillaume Melquiond 1, 2 Pierre Weis 3
1 PROVAL - Proof of Programs
UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR
5 ARENAIRE - Computer arithmetic
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Abstract : We formally prove correct a C program that implements a numerical scheme for the resolution of the one-dimensional acoustic wave equation. Such an implementation introduces errors at several levels: the numerical scheme introduces method errors, and floating-point computations lead to round-off errors. We annotate this C program to specify both method error and round-off error. We use Frama-C to generate theorems that guarantee the soundness of the code. We discharge these theorems using SMT solvers, Gappa, and Coq. This involves a large Coq development to prove the adequacy of the C program to the numerical scheme and to bound errors. To our knowledge, this is the first time such a numerical analysis program is fully machine-checked.
Complete list of metadatas

https://hal.inria.fr/hal-00649240
Contributor : Francois Clement <>
Submitted on : Tuesday, May 15, 2012 - 4:12:27 PM
Last modification on : Monday, December 9, 2019 - 5:24:03 PM
Long-term archiving on: Thursday, December 15, 2016 - 9:01:59 AM

Files

RR-7826.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00649240, version 2
  • ARXIV : 1112.1795

Collections

Citation

Sylvie Boldo, Francois Clement, Jean-Christophe Filliâtre, Micaela Mayero, Guillaume Melquiond, et al.. Wave Equation Numerical Resolution: a Comprehensive Mechanized Proof of a C Program. [Research Report] RR-7826, 2011, pp.32. ⟨hal-00649240v2⟩

Share

Metrics

Record views

108

Files downloads

56