Results 1 -
4 of
4
Defining the IEEE-854 Floating-Point Standard in PVS
- in PVS. Technical Memorandum 110167, NASA, Langley Research
, 1995
"... A significant portion of the ANSI/IEEE-854 Standard for Radix-Independent Floating-Point Arithmetic is defined in PVS (Prototype Verification System). Since IEEE-854 is a generalization of the ANSI/IEEE-754 Standard for Binary Floating-Point Arithmetic, the definition of IEEE-854 in PVS also formall ..."
Abstract
-
Cited by 28 (3 self)
- Add to MetaCart
A significant portion of the ANSI/IEEE-854 Standard for Radix-Independent Floating-Point Arithmetic is defined in PVS (Prototype Verification System). Since IEEE-854 is a generalization of the ANSI/IEEE-754 Standard for Binary Floating-Point Arithmetic, the definition of IEEE-854 in PVS also formally defines much of IEEE-754. This collection of PVS theories provides a basis for machine checked verification of floating-point systems. This formal definition illustrates that formal specification techniques are sufficiently advanced that it is reasonable to consider their use in the development of future standards. keywords: Floating-point arithmetic, Formal Methods, Specification, Verification. 1 Introduction This document describes a definition of the ANSI/IEEE-854 [3] Standard for Radix-Independent Floating-Point Arithmetic in the PVS verification system (developed at SRI International) [4]. IEEE-854 is a generalization of the ANSI/IEEE-754 [2] Standard for Binary Floating-Point Ari...
Using model checking with symbolic execution to verify parallel numerical programs
, 2005
"... We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floating-point arithmetic. The method requires that a sequential version of the program be provided, to serve as the specification for the parallel one. Th ..."
Abstract
-
Cited by 22 (2 self)
- Add to MetaCart
We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floating-point arithmetic. The method requires that a sequential version of the program be provided, to serve as the specification for the parallel one. The key idea is to use model checking, together with symbolic execution, to establish the equivalence of the two programs.
Specification of the IEEE-854 Floating-Point Standard in HOL and PVS
, 1995
"... The IEEE-854 Standard for radix-independent floating-point arithmetic has been partially defined within two mechanical verification systems. We present the specification of key parts of the standard in both HOL and PVS. This effort to formalize IEEE-854 has given the opportunity to compare the st ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
The IEEE-854 Standard for radix-independent floating-point arithmetic has been partially defined within two mechanical verification systems. We present the specification of key parts of the standard in both HOL and PVS. This effort to formalize IEEE-854 has given the opportunity to compare the styles imposed by the two verification systems on the specification.
Combining Symbolic Execution with Model Checking to Verify Parallel Numerical Programs
"... We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floating-point arithmetic. This method requires that a sequential version of the program be provided, to serve as the specification for the parallel one. T ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floating-point arithmetic. This method requires that a sequential version of the program be provided, to serve as the specification for the parallel one. The key idea is to use model checking, together with symbolic execution, to establish the equivalence of the two programs. In this approach the path condition from symbolic execution of the sequential program is used to constrain the search through the parallel program. To handle floating-point operations, three different types of equivalence are supported. Several examples are presented, demonstrating the approach and actual errors that were found. Limitations and directions for future research are also described.

