## An overview of semantics for the validation of numerical programs (2005)

### Cached

### Download Links

- [perso.univ-perp.fr]
- [www.enseignement.polytechnique.fr]
- DBLP

### Other Repositories/Bibliography

Venue: | In VMCAI, volume 3385 of LNCS |

Citations: | 19 - 9 self |

### BibTeX

@INPROCEEDINGS{Martel05anoverview,

author = {Matthieu Martel and Cea Recherche Technologique},

title = {An overview of semantics for the validation of numerical programs},

booktitle = {In VMCAI, volume 3385 of LNCS},

year = {2005},

pages = {59--77},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Interval computations, stochastic arithmetic, automatic differentiation, etc.: much work is currently done to estimate and to improve the numerical accuracy of programs but few comparative studies have been carried out. In this article, we introduce a simple formal semantics for floating point numbers with errors which is expressive enough to be formally compared to the other methods. Next, we define formal semantics for interval, stochastic, automatic differentiation and error series methods. This enables us to formally compare the properties calculated in each semantics to our reference, simple semantics. Most of these methods having been developed to verify numerical intensive codes, we also discuss their adequacy to the formal validation of softwares and to static analysis. Finally, this study is completed by experimental results. 1

### Citations

588 |
Methods and Applications of Interval Analysis
- Moore
- 1979
(Show Context)
Citation Context ...he other methods is summed up by propositions 2, 3, 4 and 5. 4 Intervals The classical semantics of intervals [.]I aims at binding the real result of a calculation by a lower and an upper float value =-=[27]-=-. Obviously, the semantics of a constant d is [d]I = [↑−∞ (d), ↑+∞ (d)] (9) Similarly, let x1 = [x1, x1] and x2 = [x2, x2] be two float intervals, let ✸ be an elementary operation, and let i = [i, i] ... |

384 | What every computer scientist should know about floating-point arithmetic
- Goldberg
- 1991
(Show Context)
Citation Context ... on simple examples. Section 10 concludes. 2s2 Floating-point numbers The IEEE 754 Standard specifies the representation of floating-point numbers as well as the behavior of the elementary operations =-=[2,11]-=-. It is now implemented in almost all modern processors and, consequently, it provides a precise semantics, used as a basis in this article, for the basic operations occurring in high-level programmin... |

363 |
2000), Evaluating derivatives: principles and techniques of algorithmic differentiation, number 19
- Griewank
(Show Context)
Citation Context ...ection we introduce a simple semantics performing an automatic differentiation of programs. More elaborated techniques are described in the references mentioned later on. In automatic differentiation =-=[3,16]-=-, one considers that a program p calculates a function g of the data for which we are going to evaluate, at the same time as g, the numerical values of the derivatives. If d1, . . . , dn denote the da... |

240 |
Chaos: An Introduction to Dynamical Systems
- Alligood, Sauer, et al.
- 1997
(Show Context)
Citation Context ...0 and, consequently, an absorption occurs: 1.0 − 10 −8 = 1.0 in the floats. So, at the end of the iteration xF = 1.0. The interval semantics defined by equations (9) and (10) returns an interval xI ⊇ =-=[0, 1]-=-, indicating that the exact result is between 0 and 1. In [.]E, xE = 1.0�εf − 1.0�εe which means that the float value of x is 1 and that the exact forward error on x is −1. As illustrated by our examp... |

199 | A static analyzer for large safetycritical software
- Blanchet, Cousot, et al.
- 2003
(Show Context)
Citation Context ...ter case, the function ↓◦ must be redefined. In the following, we detail how the methods of sections 3 to 7 can be used for static analysis. Many static analyzers implement an interval analysis (e.g. =-=[4]-=-). The main drawback of this approach was already outlined for the dynamic semantics: as discussed in Section 4, when an interval is large, one cannot assert that the precision of the results is accep... |

168 | ADOL-C, a package for the automatic differentiation of algorithms written in C/C
- Griewank, Juedes, et al.
- 1996
(Show Context)
Citation Context ...methods described earlier. The tools and libraries that we use for interval arithmetic, stochastic arithmetic, automatic differentiation and error series respectively are MPFI [30], CADNA [9], ADOL-C =-=[15]-=- and Fluctuat [14]. Each example, written in C, was designed to illustrate how a certain method behaves in a particular case (mostly to show their limitations even if they all behave well on many othe... |

71 | Algorithms for Arbitrary Precision Floating Point Arithmetic
- Priest
- 1991
(Show Context)
Citation Context ...e floats which are used for structural test case generation [24]. It also excludes alternative arithmetics enabling to improve the accuracy of the float operations like multiple precision arithmetics =-=[18,29]-=- or exact arithmetics [28]. These alternative arithmetics are more accurate than the standard floating-point numbers but they do not provide information on the precision of the results. This article i... |

57 |
Matrix computations, The Johns Hopkins university press
- Golub, Loan
- 1989
(Show Context)
Citation Context ...: (S1) : j 2x + y = 5 3 x + 3y = 5 2 (S2) : j xn+1 = 5 6 yn+1 = 5 6 − 1 2 yn − 1 3 xn (S3) : j xn+1 = [0.80, 0.85] − [0.4, 0.6]yn yn+1 = [0.80, 0.85] − [0.30, 0.35]xn To solve (S1) by Jacobi’s method =-=[12]-=-, the sequence (S2) is computed. (S3) defines a class of systems including (S2). Any system taken in the ranges given in (S3) is stable The program implementing (S2) is given below. The initial values... |

40 | A generic library of floating-point numbers and its application to exact computing
- Daumas, Rideau, et al.
- 2001
(Show Context)
Citation Context ...This excludes other interesting related works that also contribute to the validation of the numerical accuracy of softwares, like formal proof techniques of numerical properties over the floats (e.g. =-=[5,10,19]-=-), or constraints solvers over the floats which are used for structural test case generation [24]. It also excludes alternative arithmetics enabling to improve the accuracy of the float operations lik... |

35 | A Machine-Checked Theory of Floating Point Arithmetic
- Harrison
- 1999
(Show Context)
Citation Context ...her interesting related works that also contribute to the validation of the numerical accuracy of softwares, like formal proof techniques of numerical properties over the floating-point numbers (e.g. =-=[5, 10, 19]-=-), or constraints solvers over the floating-point numbers which are used for structural test case generation [24]. It also excludes alternative arithmetics enabling to improve the accuracy of the floa... |

32 | Motivations for an arbitrary precision interval arithmetic and the mpfi library
- Revol, Rouillier
- 2005
(Show Context)
Citation Context ...]. 6sThe elementary operations are defined by the rules of Figure 1, in which the computations on error terms are carried out in [.]I. Examples of interval arithmetic libraries are Boost [6] and MPFI =-=[30]-=-, the latter being based on the multiple precision library MPFR [18]. Implementations of multiple precision interval libraries are compared in [17]. 5 Stochastic arithmetic Stochastic arithmetic consi... |

30 | Abstract Interpretation of Probabilistic Semantics
- Monniaux
- 2000
(Show Context)
Citation Context ...s been defined nor experimented yet. However, as suggested in [13], we can expect interesting results from static analyses combining [.]S and recent work on static analysis of probabilistic semantics =-=[25,26]-=-. Automatic differentiation seems a good candidate to static analysis even if the classical semantics [.]D has some limitations: some error terms are neglected 14sand, for the others, there is a linea... |

29 | Semantics of exact real arithmetic
- Potts, Edalat, et al.
- 1997
(Show Context)
Citation Context ...tructural test case generation [24]. It also excludes alternative arithmetics enabling to improve the accuracy of the float operations like multiple precision arithmetics [18,29] or exact arithmetics =-=[28]-=-. These alternative arithmetics are more accurate than the standard floating-point numbers but they do not provide information on the precision of the results. This article is organized as follows. Se... |

26 |
Static analyses of the precision of floating-point operations
- GOUBAULT
(Show Context)
Citation Context ...y the elementary operations are not neglected. This method also enables to guarantee the precision of the final result. 7 Error series In this section, we introduce the semantics [.]W of error series =-=[13,22]-=-. The semantics [.]E of Section 3 globally computes the difference between the float and the real result of a calculation. However, when this error term is large, no hint is given to the programmer co... |

26 | Asserting the precision of floating-point computations: a simple abstract interpreter
- Goubault, Martel, et al.
- 2002
(Show Context)
Citation Context ...st enough to prove that the iterates of a function related to the body of a loop are stable. Finally, concerning error series, a static analyzer named Fluctuat and based on [.]WI has been implemented =-=[14]-=-. For a value f�ε + � ℓ∈L ωℓ�εℓ, the float f is abstracted by a float interval and the error terms ωℓ are abstracted by intervals of multiple precision numbers. Fluctuat analyzes C programs and is cur... |

23 |
Representable correcting terms for possibly underflowing floating point operations
- Boldo, Daumas
- 2003
(Show Context)
Citation Context ...This excludes other interesting related works that also contribute to the validation of the numerical accuracy of softwares, like formal proof techniques of numerical properties over the floats (e.g. =-=[5,10,19]-=-), or constraints solvers over the floats which are used for structural test case generation [24]. It also excludes alternative arithmetics enabling to improve the accuracy of the float operations lik... |

23 |
A stochastic arithmetic for reliable scientific computation
- Vignes
- 1993
(Show Context)
Citation Context ...stic arithmetic consists of running a few times the same program, the roundoff errors being, at each run, randomly propagated. The common digits of the results of all the executions are assumed exact =-=[9,31]-=-. The semantics [.]E of Section 3 uses the function ↓◦ : F → R which is not implementable. In the stochastic arithmetic semantics [.]S, ↓◦ is implemented by the random roundoff function ↓? : F → F def... |

18 | Propagation of roundoff errors in finite precision computations: a semantics approach
- Martel
- 2002
(Show Context)
Citation Context ...tics for floating point numbers with errors which is expressive enough to be formally compared to the other methods. This semantics is a special instance of a familly of semantics introduced recently =-=[22]-=-. Next, we define formal semantics for interval, stochastic, automatic differentiation and error series methods which are usually expressed in other, less semantical, settings. This enables us to comp... |

14 | On the implementation of automatic differentiation tools
- Bischof, Hovland, et al.
- 2004
(Show Context)
Citation Context ...ection we introduce a simple semantics performing an automatic differentiation of programs. More elaborated techniques are described in the references mentioned later on. In automatic differentiation =-=[3,16]-=-, one considers that a program p calculates a function g of the data for which we are going to evaluate, at the same time as g, the numerical values of the derivatives. If d1, . . . , dn denote the da... |

14 |
L’arithmétique stochastique et le logiciel CADNA. Habilitation à diriger des recherches, Université Pierre et Marie Curie
- Chesneaux
- 1995
(Show Context)
Citation Context ...stic arithmetic consists of running a few times the same program, the roundoff errors being, at each run, randomly propagated. The common digits of the results of all the executions are assumed exact =-=[9,31]-=-. The semantics [.]E of Section 3 uses the function ↓◦ : F → R which is not implementable. In the stochastic arithmetic semantics [.]S, ↓◦ is implemented by the random roundoff function ↓? : F → F def... |

13 | An abstract Monte-Carlo method for the analysis of probabilistic programs (extended abstract
- Monniaux
- 2001
(Show Context)
Citation Context ...s been defined nor experimented yet. However, as suggested in [13], we can expect interesting results from static analyses combining [.]S and recent work on static analysis of probabilistic semantics =-=[25,26]-=-. Automatic differentiation seems a good candidate to static analysis even if the classical semantics [.]D has some limitations: some error terms are neglected 14sand, for the others, there is a linea... |

11 |
ANSI/IEEE Standard for Binary Floating Point Arithmetic: Std 754-1985
- IEEE
- 1985
(Show Context)
Citation Context ... on simple examples. Section 10 concludes. 2s2 Floating-point numbers The IEEE 754 Standard specifies the representation of floating-point numbers as well as the behavior of the elementary operations =-=[2,11]-=-. It is now implemented in almost all modern processors and, consequently, it provides a precise semantics, used as a basis in this article, for the basic operations occurring in high-level programmin... |

11 | Solving Constraints over Floating-Point Numbers
- Michel, Rueher, et al.
- 2001
(Show Context)
Citation Context ...accuracy of softwares, like formal proof techniques of numerical properties over the floats (e.g. [5,10,19]), or constraints solvers over the floats which are used for structural test case generation =-=[24]-=-. It also excludes alternative arithmetics enabling to improve the accuracy of the float operations like multiple precision arithmetics [18,29] or exact arithmetics [28]. These alternative arithmetics... |

10 | Multiple Precision Interval Packages: Comparing Different Approaches
- Grimmer, Petras, et al.
(Show Context)
Citation Context ...interval arithmetic libraries are Boost [6] and MPFI [30], the latter being based on the multiple precision library MPFR [18]. Implementations of multiple precision interval libraries are compared in =-=[17]-=-. 5 Stochastic arithmetic Stochastic arithmetic consists of running a few times the same program, the roundoff errors being, at each run, randomly propagated. The common digits of the results of all t... |

10 |
Static analysis of the numerical stability of loops
- Martel
(Show Context)
Citation Context ...1, . . . , dn) ∂dn Automatic differentiation can be viewed as a way to approximately calculate the error term eεe of the semantics [.]E. Given a program that implements a function g, [.]E calculates: =-=(23)-=- [g(d1, . . . , dn)]E = xr = frεf + erεe (24) 8In the simplest case m = n = 1, i.e. for a program p calculating a function g of a single datum d1, we can estimate the error term er of Equation (24) f... |

9 | Automatic linear correction of rounding errors
- Langlois
(Show Context)
Citation Context ...differentiation libraries [3]. In certain cases, automatic differentiation can also be used to improve the precision of a calculation, by adding correcting terms to the floats computed by the machine =-=[20,21]-=-. In this case, the roundoff errors introduced by the elementary operations are not neglected. This method also enables to guarantee the precision of the final result. 7 Error series In this section, ... |

5 |
The boost interval arithmetic library
- Bronnimann, Melquiond
- 2003
(Show Context)
Citation Context ...f error [x, x]. 6sThe elementary operations are defined by the rules of Figure 1, in which the computations on error terms are carried out in [.]I. Examples of interval arithmetic libraries are Boost =-=[6]-=- and MPFI [30], the latter being based on the multiple precision library MPFR [18]. Implementations of multiple precision interval libraries are compared in [17]. 5 Stochastic arithmetic Stochastic ar... |

3 |
The MPFR library. Institut de Recherche en Informatique et Automatique
- Hanrot, Lefevre, et al.
- 2001
(Show Context)
Citation Context ...e floats which are used for structural test case generation [24]. It also excludes alternative arithmetics enabling to improve the accuracy of the float operations like multiple precision arithmetics =-=[18,29]-=- or exact arithmetics [28]. These alternative arithmetics are more accurate than the standard floating-point numbers but they do not provide information on the precision of the results. This article i... |

3 |
Improving automatic reduction of round-off errors
- Langlois, Nativel
- 1997
(Show Context)
Citation Context ...differentiation libraries [3]. In certain cases, automatic differentiation can also be used to improve the precision of a calculation, by adding correcting terms to the floats computed by the machine =-=[20,21]-=-. In this case, the roundoff errors introduced by the elementary operations are not neglected. This method also enables to guarantee the precision of the final result. 7 Error series In this section, ... |

1 |
A machine-checked theory of floating point arithmetic
- Harrisson
- 1999
(Show Context)
Citation Context ...This excludes other interesting related works that also contribute to the validation of the numerical accuracy of softwares, like formal proof techniques of numerical properties over the floats (e.g. =-=[5,10,19]-=-), or constraints solvers over the floats which are used for structural test case generation [24]. It also excludes alternative arithmetics enabling to improve the accuracy of the float operations lik... |