Results 1 
8 of
8
Defining the IEEE854 FloatingPoint Standard in PVS
 in PVS. Technical Memorandum 110167, NASA, Langley Research
, 1995
"... A significant portion of the ANSI/IEEE854 Standard for RadixIndependent FloatingPoint Arithmetic is defined in PVS (Prototype Verification System). Since IEEE854 is a generalization of the ANSI/IEEE754 Standard for Binary FloatingPoint Arithmetic, the definition of IEEE854 in PVS also formall ..."
Abstract

Cited by 30 (3 self)
 Add to MetaCart
A significant portion of the ANSI/IEEE854 Standard for RadixIndependent FloatingPoint Arithmetic is defined in PVS (Prototype Verification System). Since IEEE854 is a generalization of the ANSI/IEEE754 Standard for Binary FloatingPoint Arithmetic, the definition of IEEE854 in PVS also formally defines much of IEEE754. This collection of PVS theories provides a basis for machine checked verification of floatingpoint 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: Floatingpoint arithmetic, Formal Methods, Specification, Verification. 1 Introduction This document describes a definition of the ANSI/IEEE854 [3] Standard for RadixIndependent FloatingPoint Arithmetic in the PVS verification system (developed at SRI International) [4]. IEEE854 is a generalization of the ANSI/IEEE754 [2] Standard for Binary FloatingPoint Ari...
Using model checking with symbolic execution to verify parallel numerical programs
 In: ISSTA (2006
"... We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floatingpoint 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 28 (2 self)
 Add to MetaCart
We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floatingpoint 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 computation, to establish the equivalence of the two programs. 1.
Specification of the IEEE854 FloatingPoint Standard in HOL and PVS
, 1995
"... The IEEE854 Standard for radixindependent floatingpoint 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 IEEE854 has given the opportunity to compare the st ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
The IEEE854 Standard for radixindependent floatingpoint 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 IEEE854 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 floatingpoint 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 16 (4 self)
 Add to MetaCart
We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floatingpoint 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 floatingpoint 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.
Modeling SystemC FixedPoint Arithmetic in HOL
, 2003
"... SystemC is a new Cbased system level design language whose ultimate objective is to enable SystemonaChip (SoC) design and verification. Fixedpoint design based on the SystemC data types is rapidly becoming the standard for optimizing DSP systems. In this paper, we propose to create a formalizat ..."
Abstract
 Add to MetaCart
SystemC is a new Cbased system level design language whose ultimate objective is to enable SystemonaChip (SoC) design and verification. Fixedpoint design based on the SystemC data types is rapidly becoming the standard for optimizing DSP systems. In this paper, we propose to create a formalization of SystemC fixedpoint arithmetic in the HOL theorem proving environment. The SystemC fixedpoint number representation which contains a new generalized format and different rounding and overflow modes is described, and then it is formalized in higherorder logic. This formalization is then compared with the formalization of IEEE standard based floatingpoint arithmetic in HOL. A set of theorems are proved to bound the error in fixedpoint rounding and to verify the fixedpoint arithmetic operations against their abstract mathematical counterparts. Finally, we show by an example how this formalization can be used in verification of the translation from floatingpoint and fixedpoint algorithmic, down to register transfer and netlist gate levels in the design flow of SoC systems.
Abstract Nickle: Language Principles and Pragmatics ∗
"... Nickle is a vaguely Clike programming language for numerical applications, useful both as a desk calculator and as a prototyping and implementation language for numerical and seminumerical algorithms. Nickle abstracts a number of useful features from a wide variety of other programming languages, ..."
Abstract
 Add to MetaCart
Nickle is a vaguely Clike programming language for numerical applications, useful both as a desk calculator and as a prototyping and implementation language for numerical and seminumerical algorithms. Nickle abstracts a number of useful features from a wide variety of other programming languages, particularly functional languages. Nickle’s design principles and implementation pragmatics mesh nicely to form a language filling a useful niche in the UNIX software environment. The history of Nickle is also an instructive example of the migration of an application from an idea to a freelyavailable piece of software. 1
Contents lists available at ScienceDirect Simulation Modelling Practice and Theory
"... journal homepage: www.elsevier.com/locate/simpat Performance analysis of a thresholdbased discretetime queue ..."
Abstract
 Add to MetaCart
journal homepage: www.elsevier.com/locate/simpat Performance analysis of a thresholdbased discretetime queue