## Static Analyses of Floating-Point Operations (2001)

Venue: | In SAS’01, volume 2126 of LNCS |

Citations: | 8 - 0 self |

### BibTeX

@INPROCEEDINGS{Goubault01staticanalyses,

author = {Eric Goubault},

title = {Static Analyses of Floating-Point Operations},

booktitle = {In SAS’01, volume 2126 of LNCS},

year = {2001},

pages = {259--339},

publisher = {Springer}

}

### Years of Citing Articles

### OpenURL

### Abstract

Computers manipulate approximations of real numbers, called floating-point numbers. The calculations they make are accurate enough for most applications. Unfortunately, in some (catastrophic) situations, the floating-point operations lose so much precision that they quickly become irrelevant. In this article, we review some of the problems one can encounter, focussing on the IEEE754-1985 norm. We give a (sketch of a) semantics of its basic operations then abstract them (in the sense of abstract interpretation) to extract information about the possible loss of precision. The expected application is abstract debugging of software ranging from simple on-board systems (which use more and more on-the-shelf micro-processors with floating-point units) to scientific codes. The abstract analysis is demonstrated on simple examples and compared with related work. 1

### Citations

2197 |
The art of computer programming
- Knuth
- 1973
(Show Context)
Citation Context ...the form 2 \Gammap :ff i where the ff i are equi-distributed independent random variables on ] \Gamma 1; 1[ with uniform law. This law is justified both experimentally and by some theoretical reasons =-=[Knu73]-=-. The perturbation methods goes as follows. At each floating-point operation, we perturbate the round-off towards +1 or \Gamma1 with the same probability. We execute N times each of the instructions o... |

1286 | A structural approach to operational semantics
- Plotkin
- 1981
(Show Context)
Citation Context ...te (Instr; P rog; ae) to (P rog; ae 0 ) are now rather easy to write down, given the evaluation of expressions above. We spare the reader the details, given that this is rather standard (in SOS style =-=[Plo81]-=- for instance). In order to be able to write the abstract semantics in an easier manner in the sequel, we suppose that all expressions are decomposed into sequences of single operations (like +, \Gamm... |

572 | Automatic discovery of linear restraints among variables of a program
- Cousot, Halbwachs
- 1978
(Show Context)
Citation Context ... exceptions that might be raised (and not caught), like "Overflow", "Underflow" and "NaN". This could be handled with other well-known analyses (interval analysis as used=-= in Syntox [Bou92], polyhedra [CH78]-=- etc.) so we will not describe this part so much. What we really would like to find is some not too pessimistic information about the precision of the values of the variables. This leads to estimates ... |

529 | Methods and Applications of Interval Analysis - Moore - 1979 |

238 | Abstract interpretation frameworks
- Cousot, Cousot
- 1992
(Show Context)
Citation Context ... the loss of precision at that point), the a i being in an abstract domain A (for example real or floating-point intervals) abstracting (IR [ f1; \Gamma1g), through (for instance) a Galois Connection =-=[CC92a]-=- (IR [ f1; \Gamma1g) ff ! fl ? A. Basically a 0 should be an abstraction of the intended result if the program was manipulating real numbers, and the a i (is1) represent abstractions of each small err... |

199 | Essentials of Padé Approximants - Baker - 1975 |

161 | Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation
- Cousot, Cousot
- 1992
(Show Context)
Citation Context ...a i ffl isa 0 0 + P i2L a 0 i ffl i if a 0 A a 0 0 and a i A a 0 i for all i 2 L. Therefore, if A is a lattice, then D is a lattice with component-wise operations. Similarly, widenings and narrowings =-=[CC92b]-=- defined in A can be extended in a component-wise manner to generate widenings and narrowings on D. In general the classical widenings on intervals are not very subtle. We use the following family of ... |

118 | Efficient chaotic iteration strategies with widenings - Bourdoncle - 1993 |

73 | Exact Real Computer Arithmetic with Continued Fractions - Vuillemin - 1990 |

48 | Domains for computation in mathematics, physics and exact real arithmetic - Edalat - 1997 |

35 | Abstract Interpretation by dynamic partitioning
- Bourdoncle
- 1992
(Show Context)
Citation Context ...ind is at least the exceptions that might be raised (and not caught), like "Overflow", "Underflow" and "NaN". This could be handled with other well-known analyses (interv=-=al analysis as used in Syntox [Bou92]-=-, polyhedra [CH78] etc.) so we will not describe this part so much. What we really would like to find is some not too pessimistic information about the precision of the values of the variables. This l... |

31 |
Systèmes de transitions finis et sémantique des processus communicants. Etudes et Recherches en Informatiques
- Arnold
- 1992
(Show Context)
Citation Context ...(x ! 0) x = x + 1 else x = x \Gamma 1; (x / \Gamma10 \Gamma37 ; x / 0)) to (x = x + 1; (x / \Gamma10 \Gamma37 ; ?)) and then to (;; (x / 1; ?)) 9 . This actually corresponds to a synchronized product =-=[Arn92]-=- (with synchronization between two transitions being only allowed when the two have the same labels) of the transition system corresponding to the floating-point semantics with another, corresponding ... |

30 |
Improving the results of static analyses of programs by local decreasing iterations
- Granger
- 1992
(Show Context)
Citation Context ...stract, the IEEE754-1985 rules dealing with constants are very precise and we can determine for sure whether we lose precision or not. Tests are more complex. We use local decreasing iterations as in =-=[Gra92]-=-. For instance suppose we want to interpret x == y. The corresponding abstract operator == a will be the greatest fixed point of the functional F on affine forms, which to every pair of affine forms (... |

29 | Abstract interpretation of probabilistic semantics - Monniaux - 2000 |

25 | Lecture notes on the status of IEEE Standard 754 for binary floating-point arithmetic - Kahan - 1996 |

19 | Arithmétique des Ordinateurs - Muller - 1989 |

19 | A stochastic arithmetic for reliable scientific computation - Vignes - 1993 |

18 | Interprocedural abstract interpretation of block structured languages with nested procedures, aliasing and recursivity - Bourdoncle - 1990 |

15 | R.: Efficient Multiprecision Floating Point Multiplication with Exact Rounding - Krandick, Johnson |

14 | Exact Real Computer Arithmetic - Potts, Edalat - 1997 |

14 | Affine arithmetic
- Andrade, Comba, et al.
- 1994
(Show Context)
Citation Context ...program) that create round-off errors. We associate with each location and variable the way this control point makes the variable lose precision. This is loosely based on ideas from affine arithmetic =-=[VACS94]-=- (used in simulation of programs, not in static analysis). 5 One could actually use multi-precision numbers instead of IEEE 754 double or extended double types for representing intervals in the static... |

13 | Finite Precision Lexicographic Continued Fraction Number Systems - Kornerup, Matula - 1985 |

13 | An abstract Monte-Carlo method for the analysis of probabilistic programs (extended abstract - Monniaux - 2001 |

11 |
L’arithmétique stochastique et le logiciel CADNA. Habilitation à diriger des recherches Université Pierre et Marie Curie
- Chesneaux
- 1995
(Show Context)
Citation Context ...eory and fractal encoding of exact real numbers [ES98, EP97, Eda97]. We do not know yet how we can use these ideas for static analysis purposes. Another approach is at the heart of the CADNA software =-=[Che95]-=-. It is known as the perturbation method (CESTAC) or stochastic arithmetic [CV88, CV92]. The idea is that round-off errors can be modeled as quasi-Gaussian distributions of some sort, and that a simpl... |

10 | An On-line Arithmetic Unit for Bit-Pipelined Rational Arithmetic - Kornerup, Matula - 1988 |

9 |
The Improbability of Probabilistic Error Analyses for Numerical Computations. Available from http://www.cs.berkeley.edu/∼wkahan/improber.ps or http://www.cs.berkeley.edu/∼wkahan/improber.pdf
- Kahan
- 1996
(Show Context)
Citation Context ...ter approximations of real number computations. This method and tool is probably one of the most favored among the code programmers, since it is quite precise. But it has lead to some criticisms, see =-=[Kah91] for example. W-=-e review some of its central ideas more in detail in section 6.2. A similar approach (still stochastic but in a "backwards" manner) has been implemented and tested under the name "Preci... |

7 | Exploiting Redundancy in Bit-Pipelined Rational Arithmetic - Kornerup, Matula - 1989 |

7 | Error analysis in computing - Vignes - 1974 |

6 | A domain-theoretic approach to real number computation - Edalat, Sünderhauf - 1998 |

5 | Calculator function approximation - Schelin - 1983 |

4 | Calcul Parallele et En-Ligne des Fonctions Arithmetiques - Kla - 1993 |

4 | Continued fractions for high-speed and high-accuracy computer arithmetic - Seidensticker - 1983 |

3 |
a toolbox for assessing the quality of numerical methods and software
- PRECISE
(Show Context)
Citation Context ... example. We review some of its central ideas more in detail in section 6.2. A similar approach (still stochastic but in a "backwards" manner) has been implemented and tested under the name =-="Precise" [CCT00]-=-. We thought of using similar probabilistic ideas as a basis of a static analysis but at the moment there seems to be no way to ensure (even probabilistically) the correctness of the approach. Very im... |

3 | Sur la robustesse de la m'ethode CESTAC", Comptes Rendus de l'Academie des Sciences - Chesneaux, Vignes - 1988 |

3 | The status of investigations into computer hardware design based on the use of continued fractions - Robertson, Trivedi - 1973 |

3 | R.: An efficient stochastic method for round-off error analysis. In: Accurate Scientific Computations - Vignes, Alt - 1985 |

2 |
Affine relationships between variables of a program
- Karr
- 1976
(Show Context)
Citation Context ...metimes in finite elements methods). It is also motivated by the fact that we know in general how to linearize errors, and we know how to manipulate affine constraints (which are used for instance in =-=[Kar76]-=- in static analysis). We call T an affine transformation on the space generated by fffl 1 ; \Delta \Delta \Delta ; ffl ng if there exists a n \Theta n matrix A, and an n-dimensional vector B such that... |

2 | Fast rounding in multiprecision floating-slash arithmetic - Scott - 1989 |

1 |
An application of abstract interpretation to floating-point arithmetic
- Ameur, Cros, et al.
- 1992
(Show Context)
Citation Context ...ies to give more precise results on one execution, or give some hint about the precision on one execution, but rather assesses a property valid for all (or a large class of) executions. This analyzer =-=[ACFG92]-=- actually uses abstract interpretation. We will explain the abstraction chosen more in detail in next section. 6.1 Another abstract interpretation The abstract interpreter [ACFG92] is based on the fol... |

1 |
Le calcul sur ordinateur `a pr'ecision finie, th'eorie et 'etat de l'art
- Chaitin-Chatelin
- 1994
(Show Context)
Citation Context ... in the concrete model, F 0 = f0:1000s10 6 ; 0:1001s10 6 ; \Delta \Delta \Delta ; 0:9999s10 12 g 11 See Section 3 for examples of that phenomenon. 12 And they do not solve the problem in general, see =-=[CC94]-=- where the following classical dynamical system example by J. M. Muller Un+1 = 111 \Gamma 1130 Un + 3000 Un U n\Gamma1 with U 0 = 2 and U 1 = \Gamma4 leads with floating-point numbers of all (finite) ... |

1 | Rational approximations for special functions - Clenshaw - 1974 |

1 | Les fondements de l'arith'etique stochastique. ComptesRendus de l'Acad'emie des Sciences - Chesneaux, Vignes - 1435 |

1 | Computer interval arithmetic: Definition and proof of correct implementation - Good, London - 1970 |

1 | What every computer-scientist should know about computer arithmetic. Computing Surveys - Goldberg - 1991 |

1 | Finite-precision rational arithmetic: an arithmetic unit - Kornerup, Matula - 1983 |

1 |
Petite analyse en nombres flottants
- Regal
- 1999
(Show Context)
Citation Context ...[\Gamma0:6180342272; \Gamma0:6180340224]ffl 3 + [\Gamma0:6180342272; \Gamma0:6180340224]ffl 4 + [0:3819656448; 0:3819658240]ffl 5 10 This comes from a library programmed in C by Nicolas Regal in 1999 =-=[Reg99]-=-. 12 (concretization is [0.38196568,0.38196583]). Then, [0:236067780; 0:236068024] + [2:236067872; 2:236068116]ffl 1 + [1:2360676352; 1:2360684544]ffl 2 + [1:2360681472; 1:2360685568]ffl 3 + [1:236068... |

1 | New methods for evaluating the validity of mathematical software - Vignes - 1978 |

1 | Controle et estimation stochastique des arrondis de calcul - Vignes - 1987 |