Polynomial Function Enclosures and Floating Point Software Verification
Recommend Documents
featuring operators such as root, exponential, logarithm, sine, cosine, arctan, ..... with more than one variable, there is another strategy choice beyond sub- ...... issue with choice 1 is that this translation is generally nontrivial and difficult
that wp has an appealing calculus that is well suited for implementation on a computer. .... expressions, often involving transcendental functions, which famously are ...... vant aspects of SPARK Ada, so that the intuition and solutions developed for
For example, the addition of two FP numbers X (Sx, Ex, Mx) and Y (Sy, Ey, My) can not be expressed as X + Y , because of special cases when one of them is N ...
Algorithms and implementations: addition/subtraction, multiplication and division.
Digital Arithmetic - Ercegovac/Lang 2003. 8 – Floating-Point Arithmetic ...
Oct 30, 2008 - Index Terms—Binary floating-point arithmetic, square root, correct ... If x is nonzero negative or NaN then r is NaN. ... fact that p ≥ 1 implies 1 ≤ 2 − 21−p and from the fact ... fined in (3) satisfies x = m · 2e and that m ∈ [1, 2).
Apr 17, 2016 - Our prior research on Alive domain specific language addresses a part of this problem of developing corre
translator from a synthesizable subset of the Verilog hard- ware description .... tains to the same multiplier) asserts that whenever a valid result is returned in the ...
Apr 17, 2016 - not affect a program's externally visible behavior are allowed in a well-defined program. Poison values e
www.russinoff.com/papers/k7-div-sqrt.html. [RUS99] RUSSINOFF, D.M., A mechanically checked proof of. IEEE compliance of the AMD-K5 floating point square ...
bodied in the FPgen verification solution. FPgen [5] comprises a comprehensive test plan for floating point arithmetic and a model based random test generator, ...
consider rounding issues for the financial community. ▫ Fixed point. » still integers
but with an assumed decimal point. » advantage – still get to use the integer ...
Floating-Point Numbers. Floating-point number system characterized by four
integers: β base or radix p precision. [L, U] exponent range. Number x
represented ...
e s. Fig. 17.1 Typical floating-point number format. Tradeoff: Allocation of more bits to the exponent part widens the number representation range but reduces the.
16 Oct 2008 - In Java, JUnit overloads Assert.assertEquals for floating-point types: assertEquals(float expected, float
16 Oct 2008 - In Java, JUnit overloads Assert.assertEquals for floating-point types: assertEquals(float expected, float
Floating Point. Sekolah Teknik Elektro dan Informatika. Institut Teknologi
Bandung .... Value. ▻ Exponent value E = –Bias + 1. ▻ Significand value M = 0.
xxx…x.
IEEE 754 floating point standard: – single precision: 8 bit exponent, 23 bit
significand. – double precision: 11 bit exponent, 52 bit significand. Recall
Scientific ...
It has a complete software development environment including toolchain for C and C++, a complete adapted IDE based on on
Full Toolchain at no extra charge. The FPS6 ... Watchdog. X-Bar. Flash. D-Cache. On-Chip. Debug. R0 = 0. RTT. CPU Core.
Analysis â A Case Study for a Mobile Application. VolNan Tunalı ... the actual size of the project after development, and results were presented. Index Terms ... be performed, anticipating time, budget, and quality constraints. Estimation and ...
Abstract—The IEEE Standard 754-1985 for Binary Floating-Point Arithmetic [19]
was revised ... The IEEE 754R decimal arithmetic should unify the ways decimal
...
Aug 11, 1999 - ber computation in automotive control systems by design- ing a new ... proposed format is integrated within compiler technology, it offers a seamless ... The approach improves the ..... Instruction Set Reference Manual, 1995.
Software solutions include C# [22], COBOL [21], and XML. [25], which provide .... format is very important, as it enables good software implementations of ...
Polynomial Function Enclosures and Floating Point Software Verification
18 end Patriot;. Fig. 2. Patriot program body. it with the floating point code. The resulting VCs quantify the error in the re- turned floating point values in terms of ...
Polynomial Function Enclosures and Floating Point Software Verification? Jan Andrzej Duracz and Michal Koneˇcn´ y Computer Science, Aston University Aston Triangle, B4 7ET, Birmingham, UK {duraczja,m.konecny}@aston.ac.uk
Abstract. Proving partial correctness of floating point programs is a hard verification problem. This is in part because error analysis of finite precision computation is difficult and in part due to the high complexity of the generated verification conditions. Typical verification conditions that arise in this context are predicates with real inequalities as atoms and therefore numerical constraint solvers seem a natural choice for the automation of such proofs. Freely available numerical constraint solvers are typically based on interval arithmetic due to existence of mature interval algorithms and relatively low computational cost. However, the pathological loss of precision that such arithmetic incurs may limit the applicability of interval based solvers for the type of first order numerical constraints that result from floating point verification problems. We propose to use function enclosures as the numerical type to base a dedicated solver on. We present a prototype implementation using polynomial bounds with arbitrary precision floating point coefficients and evaluate it on some example verification conditions.
Introduction We are concerned with partial correctness proofs of annotated floating point code. This is a hard verification problem, since the resulting verification conditions (VCs) typically contain complex arithmetic and boolean structures. We work within the SPARK framework [1] which extends a subset of Ada with an annotation language and toolset comprising a VC generator, simplifier and an interactive prover. Recently, SPARK has moved towards full automation of VC proofs, in line with the Correctness by Construction philosophy, which promotes a software development process where programs are built incrementally, interleaving the development and verification of code. One of our aims is to provide SPARK with facilities to express and verify properties of floating point (FP) code. In order to express error analysis and functional properties of FP code, we introduce for each floating point variable a companion ghost variable, thus providing us with the ability to reason about an idealised arithmetic and compare ?
This research has been sponsored by Praxis High Integrity Systems Ltd and EPSRC.
1 2 3 4 5
procedure Patriot (X , Y : in Float ; N : in Natural ; R : out Float ); - -# derives R from X ,Y , N ; - -# post R = X + Float ( N )* Y and - -# abs( R !)