C-language oating-point proofs layered with VST and Flocq 1

We demonstrate tools and methods for proofs about the correctness and numerical accuracy of C programs. The tools are foundational, in that they are connected to formal semantic specifications of the C operational semantics and of the IEEE 754 floating-point format. The tools are modular, in that th...

Full description

Saved in:
Bibliographic Details
Published in:Journal of Formalized Reasoning Vol. 13; no. 1; pp. 1 - 16
Main Authors: Appel, Andrew W, Bertot, Yves
Format: Journal Article
Language:English
Published: Bologna Universita degli Studi di Bologna 01-01-2020
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:We demonstrate tools and methods for proofs about the correctness and numerical accuracy of C programs. The tools are foundational, in that they are connected to formal semantic specifications of the C operational semantics and of the IEEE 754 floating-point format. The tools are modular, in that the reasoning about C programming can be done quite separately from the reasoning about numerical correctness and numerical accuracy. The tools are general, in that they accommodate almost the entire C language (with pointer data structures, function pointers, control flow, etc.) and applied mathematics (reasoned about in a general-purpose logic and proof assistant with substantial libraries for mathematical reasoning). We demonstrate on a simple Newtons-method square root function.
ISSN:1972-5787
DOI:10.6092/issn.1972-5787/12643