Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs 2016
DOI: 10.1145/2854065.2854066
|View full text |Cite
|
Sign up to set email alerts
|

A unified Coq framework for verifying C programs with floating-point computations

Abstract: We provide concrete evidence that floating-point computations in C programs can be verified in a homogeneous verification setting based on Coq only, by evaluating the practicality of the combination of the formal semantics of CompCert Clight and the Flocq formal specification of IEEE 754 floating-point arithmetic for the verification of properties of floating-point computations in C programs. To this end, we develop a framework to automatically compute realnumber expressions of C floating-point computations wi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
16
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 23 publications
(16 citation statements)
references
References 27 publications
0
16
0
Order By: Relevance
“…VIII. RELATED WORK a) Sound Accuracy Analysis: The tools FPTaylor [37], Gappa [13], PRECiSa [31], real2float [29] and VCFloat [34] are most closely related to our work as they formally verify floating-point roundoff errors. Each tool handles mixedprecision floating-point arithmetic, but other features differ slightly between tools.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…VIII. RELATED WORK a) Sound Accuracy Analysis: The tools FPTaylor [37], Gappa [13], PRECiSa [31], real2float [29] and VCFloat [34] are most closely related to our work as they formally verify floating-point roundoff errors. Each tool handles mixedprecision floating-point arithmetic, but other features differ slightly between tools.…”
Section: Discussionmentioning
confidence: 99%
“…PRECiSa and Gappa generate a proof certificate by instantiating library theorems, explicitly encoding verification steps. Any tool that explicitly encodes verification steps, or is to be used interactively [14,34] requires expert knowledge in IEEE754 floating-point semantics [20] or formal verification; in contrast our goal is to make our tool usable by non-experts. Finally, in-logic verification of certificates can often become unreasonably slow.…”
Section: Introductionmentioning
confidence: 99%
“…Whole program accuracy can be formally verified w.r.t. to a real-valued implementation with substantial user interaction and expertise [34]. Verification of elementary function implementations has also recently been automated, but requires substantial compute resources [23].…”
Section: Related Workmentioning
confidence: 99%
“…These techniques can prove the absence of runtime errors, such as division-by-zero, but cannot quantify roundoff errors. Floating-point arithmetic has also been formalized in theorem provers and entire numerical programs have been proven correct and accurate within these [7,39]. Most of these formal verification efforts are, however, to a large part manual.…”
Section: Related Workmentioning
confidence: 99%