Results 1  10
of
11
Formal Verification of FloatingPoint Programs
, 2007
"... This paper introduces a methodology to perform formal verification of floatingpoint C programs. It extends an existing tool for the verification of C programs, Caduceus, with new annotations specific to floatingpoint arithmetic. The Caduceus firstorder logic model for C programs is extended acc ..."
Abstract

Cited by 29 (7 self)
 Add to MetaCart
This paper introduces a methodology to perform formal verification of floatingpoint C programs. It extends an existing tool for the verification of C programs, Caduceus, with new annotations specific to floatingpoint arithmetic. The Caduceus firstorder 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.
Formal Verification of the VAMP Floating Point Unit
 In CHARME 2001, volume 2144 of LNCS
, 2001
"... We report on the formal verification of the floating point unit used in the VAMP processor. The FPU is fully IEEE compliant, and supports denormals and exceptions in hardware. The supported operations are addition, subtraction, multiplication, division, comparison, and conversions. The hardware is v ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
(Show Context)
We report on the formal verification of the floating point unit used in the VAMP processor. The FPU is fully IEEE compliant, and supports denormals and exceptions in hardware. The supported operations are addition, subtraction, multiplication, division, comparison, and conversions. The hardware is verified on the gate level against a formal description of the IEEE standard by means of the theorem prover PVS.
Formal verification of complex outoforder pipelines by combining modelchecking and theoremproving
 In Computer Aided Verification (CAV), volume 2404 of LNCS
, 2002
"... Abstract. We describe a methodology for the formal verification of complex outoforder pipelines as they may be used as execution units in outoforder processors. The pipelines may process multiple instructions simultaneously, may have branches and cycles in the pipeline structure, may have variab ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We describe a methodology for the formal verification of complex outoforder pipelines as they may be used as execution units in outoforder processors. The pipelines may process multiple instructions simultaneously, may have branches and cycles in the pipeline structure, may have variable latency, and may reorder instructions internally. The methodology combines modelchecking for the verification of the pipeline control, and theorem proving for the verification of the pipeline functionality. In order to combine both techniques, we formally verify that the FairCTL operators defined in µcalculus match their intended semantics expressed in a form where computation traces are explicit, since this form is better suited for theorem proving. This allows the formally safe translation of modelchecked properties of the pipeline control into a theoremproving friendly form, which is used for the verification of the overall correctness, including the functionality. As an example we prove the correctness of the pipeline of a multiplication/division floating point unit with all the features mentioned above. 1
Formal verification of the VAMP microprocessor (project status
 In Witold Charatonik and Harald Ganzinger, editors, Symposium on the Effectiveness of Logic in Computer Science (ELICS02
, 2002
"... ..."
(Show Context)
Provably faithful evaluation of polynomials
 IN PROCEEDINGS OF THE 21ST ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING
, 2006
"... We provide sufficient conditions that formally guarantee that the floatingpoint computation of a polynomial evaluation is faithful. To this end, we develop a formalization of floatingpoint numbers and rounding modes in the Program Verification System (PVS). Our work is based on a wellknown formali ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We provide sufficient conditions that formally guarantee that the floatingpoint computation of a polynomial evaluation is faithful. To this end, we develop a formalization of floatingpoint numbers and rounding modes in the Program Verification System (PVS). Our work is based on a wellknown formalization of floatingpoint arithmetic in the proof assistant Coq, where polynomial evaluation has been already studied. However, thanks to the powerful proof automation provided by PVS, the sufficient conditions proposed in our work are more general than the original ones.
approximation errors
, 2010
"... For purposes of actual evaluation, mathematical functions f are commonly replaced by approximation polynomials p. Examples include floatingpoint implementations of elementary functions, quadrature or more theoretical proof work involving transcendental functions. Replacing f by p induces a relative ..."
Abstract
 Add to MetaCart
(Show Context)
For purposes of actual evaluation, mathematical functions f are commonly replaced by approximation polynomials p. Examples include floatingpoint implementations of elementary functions, quadrature or more theoretical proof work involving transcendental functions. Replacing f by p induces a relative error ε = p/f −1. In order to ensure the validity of the use of p instead of f, the maximum error, i.e. the supremum norm ‖ε‖ ∞ must be safely bounded above. Numerical algorithms for supremum norms are efficient but cannot offer the required safety. Previous validated approaches often require tedious manual intervention. If they are automated, they have several drawbacks, such as the lack of quality guarantees. In this article a novel, automated supremum norm algorithm with a priori quality is proposed. It focuses on the validation step and paves the way for formally certified supremum norms.
Formal Verification of FloatingPoint Programs Sylvie Boldo
"... This paper introduces a methodology to perform formal verification of floatingpoint C programs. It extends an existing tool for the verification of C programs, Caduceus, with new annotations specific to floatingpoint arithmetic. The Caduceus firstorder logic model for C programs is extended acc ..."
Abstract
 Add to MetaCart
This paper introduces a methodology to perform formal verification of floatingpoint C programs. It extends an existing tool for the verification of C programs, Caduceus, with new annotations specific to floatingpoint arithmetic. The Caduceus firstorder 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. 1