Results 11  20
of
27
Certifying the floatingpoint implementation of an elementary function using Gappa
 IEEE TRANSACTIONS ON COMPUTERS, 2010. 9 HTTP://DX.DOI.ORG/10.1145/1772954.1772987 10 HTTP://DX.DOI.ORG/10.1145/1838599.1838622 11 HTTP://SHEMESH.LARC.NASA.GOV/NFM2010/PAPERS/NFM2010_14_23.PDF 12 HTTP://DX.DOI.ORG/10.1007/9783642142031_11 13 HTTP://DX.
, 2011
"... High confidence in floatingpoint programs requires proving numerical properties of final and intermediate values. One may need to guarantee that a value stays within some range, or that the error relative to some ideal value is well bounded. This certification may require a timeconsuming proof fo ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
High confidence in floatingpoint programs requires proving numerical properties of final and intermediate values. One may need to guarantee that a value stays within some range, or that the error relative to some ideal value is well bounded. This certification may require a timeconsuming proof for each line of code, and it is usually broken by the smallest change to the code, e.g., for maintenance or optimization purpose. Certifying floatingpoint programs by hand is, therefore, very tedious and errorprone. The Gappa proof assistant is designed to make this task both easier and more secure, due to the following novel features: It automates the evaluation and propagation of rounding errors using interval arithmetic. Its input format is very close to the actual code to validate. It can be used incrementally to prove complex mathematical properties pertaining to the code. It generates a formal proof of the results, which can be checked independently by a lower level proof assistant like Coq. Yet it does not require any specific knowledge about automatic theorem proving, and thus, is accessible to a wide community. This paper demonstrates the practical use of this tool for a widely used class of floatingpoint programs: implementations of elementary functions in a mathematical library.
Assisted verification of elementary functions
, 2005
"... The implementation of a correctly rounded or interval elementary function needs to be proven carefully in the very last details. The proof requires a tight bound on the overall error of the implementation with respect to the mathematical function. Such work is function specific, concerns tens of lin ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
The implementation of a correctly rounded or interval elementary function needs to be proven carefully in the very last details. The proof requires a tight bound on the overall error of the implementation with respect to the mathematical function. Such work is function specific, concerns tens of lines of code for each function, and will usually be broken by the smallest change to the code (e.g. for maintenance or optimization purpose). Therefore, it is very tedious and errorprone if done by hand. This article discusses the use of the Gappa proof assistant in this context. Gappa has two main advantages over previous approaches: Its input format is very close to the actual C code to validate, and it automates error evaluation and propagation using interval arithmetic. Besides, it can be used to incrementally prove complex mathematical properties pertaining to the C code. Yet it does not require any specific knowledge about automatic theorem proving, and thus is accessible to a wider community. Moreover, Gappa may generate a formal proof of the results that can be checked independently by a lowerlevel proof assistant like Coq, hence providing an even higher confidence in the certification of the numerical code.
A Meta Linear Logical Framework
 In 4th International Workshop on Logical Frameworks and MetaLanguages (LFM’04
, 2003
"... Over the years, logical framework research has produced various type theories designed primarily for the representation of deductive systems. Reasoning about these representations requires expressive special purpose meta logics, that are in general not part of the logical framework. ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Over the years, logical framework research has produced various type theories designed primarily for the representation of deductive systems. Reasoning about these representations requires expressive special purpose meta logics, that are in general not part of the logical framework.
Behavioral Properties of FloatingPoint Programs ⋆
"... Abstract. We propose an expressive language to specify formally behavioral properties of programs involving floatingpoint computations. We present a deductive verification technique, which allows to prove formally that a given program meets its specifications, using either SMTclass automatic theor ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
Abstract. We propose an expressive language to specify formally behavioral properties of programs involving floatingpoint computations. We present a deductive verification technique, which allows to prove formally that a given program meets its specifications, using either SMTclass automatic theorem provers or general interactive proof assistants. Experiments using the FramaC platform for static analysis of C code are presented. 1
Software techniques for perfect elementary functions in floatingpoint interval arithmetic
 IN REAL NUMBERS AND COMPUTERS
, 2006
"... ..."
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 (1 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.
First Order Logic in Practice
 In Proc. FTP
, 1997
"... Now, although interactive provers may require manual guidance, it's desirable to provide quite high levels of automation so that the user avoids the tedious filling in of trivial details. Indeed, the most effective recent systems such as PVS do provide quite powerful automation for special theories ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Now, although interactive provers may require manual guidance, it's desirable to provide quite high levels of automation so that the user avoids the tedious filling in of trivial details. Indeed, the most effective recent systems such as PVS do provide quite powerful automation for special theories felt to be particularly important in practice, e.g. linear arithmetic and propositional tautology checking. But what about the automation of pure, typically first order, logic? There have been attempts since at least SAM [4] to harness automation of pure logic in interactive systems. Yet a common view today is that automation of theories like linear arithmetic is far more significant in practice.
Hierarchical verification of the implementation of the ieee754 tabledriven floatingpoint exponential function using hol
 In International Conference on Theorem Proving in HigherOrder Logics (TPHOLs’01
, 2001
"... Abstract. The IEEE754 floatingpoint standard is considered one of the most important standards, and is used in nearly all floatingpoint applications. In this paper, we have formalized and verified a hardware implementation of the TableDriven algorithm for the floatingpoint exponential function. ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. The IEEE754 floatingpoint standard is considered one of the most important standards, and is used in nearly all floatingpoint applications. In this paper, we have formalized and verified a hardware implementation of the TableDriven algorithm for the floatingpoint exponential function. Throughout this paper, we have used a hierarchical approach in formally modeling and verifying in HOL the floatingpoint exponential function from the gate level implementation up to a behavioral specification written by Harrison [7]. 1
Certifying floatingpoint implementations using Gappa
, 2008
"... High confidence in floatingpoint programs requires proving numerical properties of final and intermediate values. One may need to guarantee that a value stays within some range, or that the error relative to some ideal value is well bounded. Such work may require several lines of proof for each lin ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
High confidence in floatingpoint programs requires proving numerical properties of final and intermediate values. One may need to guarantee that a value stays within some range, or that the error relative to some ideal value is well bounded. Such work may require several lines of proof for each line of code, and will usually be broken by the smallest change to the code (e.g. for maintenance or optimization purpose). Certifying these programs by hand is therefore very tedious and errorprone. This article discusses the use of the Gappa proof assistant in this context. Gappa has two main advantages over previous approaches: Its input format is very close to the actual C code to validate, and it automates error evaluation and propagation using interval arithmetic. Besides, it can be used to incrementally prove complex mathematical properties pertaining to the C code. Yet it does not require any specific knowledge about automatic theorem proving, and thus is accessible to a wide community. Moreover, Gappa may generate a formal proof of the results that can be checked independently by a lowerlevel proof assistant like Coq, hence providing an even higher confidence in the certification of the numerical code. The article demonstrates the use of this tool on a realsize example, an elementary function with correctly rounded output. 1
Formal Analysis and Verification of an OFDM Modem Design using HOL
"... Abstract — In this paper we formally specify and verify an implementation of the IEEE802.11a standard physical layer based OFDM (Orthogonal Frequency Division Multiplexing) modem using the HOL (Higher Order Logic) theorem prover. The versatile expressive power of HOL helped model the original design ..."
Abstract
 Add to MetaCart
Abstract — In this paper we formally specify and verify an implementation of the IEEE802.11a standard physical layer based OFDM (Orthogonal Frequency Division Multiplexing) modem using the HOL (Higher Order Logic) theorem prover. The versatile expressive power of HOL helped model the original design at all abstraction levels starting from a floatingpoint model to the fixedpoint design and then synthesized and implemented in FPGA technology. The paper also investigates the rounding error accumulated during ideal real to floatingpoint and fixedpoint transitions at the algorithmic level. I.