The pitfalls of verifying floating-point computations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Floats and Ropes: A Case Study for Formal Numerical Program Verification
ICALP '09 Proceedings of the 36th Internatilonal Collogquium on Automata, Languages and Programming: Part II
Combining Coq and Gappa for Certifying Floating-Point Programs
Calculemus '09/MKM '09 Proceedings of the 16th Symposium, 8th International Conference. Held as Part of CICM '09 on Intelligent Computer Mathematics
Certification of bounds on expressions involving rounded operators
ACM Transactions on Mathematical Software (TOMS)
The Why/Krakatoa/Caduceus platform for deductive program verification
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Towards program optimization through automated analysis of numerical precision
Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization
Experiences in applying formal verification in robotics
SAFECOMP'10 Proceedings of the 29th international conference on Computer safety, reliability, and security
Static analysis of finite precision computations
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Symbolic crosschecking of floating-point and SIMD code
Proceedings of the sixth conference on Computer systems
Proofs of numerical programs when the compiler optimizes
Innovations in Systems and Software Engineering
Practical limits on software dependability: a case study
Ada-Europe'10 Proceedings of the 15th Ada-Europe international conference on Reliable Software Technologies
Multi-Prover verification of floating-point programs
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Hardware-dependent proofs of numerical programs
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Refining abstract interpretation based value analysis with constraint programming techniques
CP'12 Proceedings of the 18th international conference on Principles and Practice of Constraint Programming
A formal proof of square root and division elimination in embedded programs
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Wave Equation Numerical Resolution: A Comprehensive Mechanized Proof of a C Program
Journal of Automated Reasoning
On-the-fly detection of instability problems in floating-point program execution
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
This paper introduces a methodology to perform formal verification of floating-point C programs. It extends an existing tool for the verification of C programs, Caduceus, with new annotations specific to floating-point arithmetic. The Caduceus first-order logic model for C programs is extended accordingly. Then verification conditions expressing the correctness of the programs are obtained in the usual way and can be discharged interactively with the Coq proof assistant, using an existing Coq formalization of floatingpoint arithmetic. This methodology is already implemented and has been successfully applied to several short floatingpoint programs, which are presented in this paper.