Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alligood, K.T., Sauer, T.D., Yorke, J.A.: Chaos, an Introduction to Dynamical Systems. Springer, Heidelberg (1996)
ANSI/IEEE. IEEE Standard for Binary Floating Point Arithmetic, Std 754 edn. (1985)
Bischof, C., Hovland, P.D., Norris, B.: Implementation of automatic differentiation tools. In: Partial Evaluation and Semantics-Based Program Transformations, PEPM 2002. ACM Press, New York (2002)
Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: A static analyzer for large safety-critical software. In: Programming Language Design and Implementation, PLDI 2003. ACM Press, New York (2003)
Boldo, S., Daumas, M.: Representable correcting terms for possibly underflowing floating point operations. In: Bajard, J.-C., Schulte, M. (eds.) Symposium on Computer Arithmetic. IEEE Press, Los Alamitos (2003)
Bronnimann, H., Melquiond, G.: The boost interval arithmetic library. In: Real Numbers and Computers Conference, RNC’5 (2003)
CADNA for C/C++ source codes User’s Guide, http://www-anp.lip6.fr/cadna/Documentation/Accueil.php
Chaitin-Chatelin, F., Frayssé, V.: Lectures on Finite Precision Computations. SIAM, Philadelphia (1996)
Chesneaux, J.-M.: L’arithmétique stochastique et le logiciel CADNA. Habilitation à diriger des recherches, Université Pierre et Marie Curie, Paris (1995)
Daumas, M., Rideau, L., Théry, L.: A generic library for floating-point numbers and its application to exact computing. In: Boulton, R.J., Jackson, P.B. (eds.) TPHOLs 2001. LNCS, vol. 2152, p. 169. Springer, Heidelberg (2001)
Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys 23(1) (1991)
Golub, G.H., Van Loan, C.F.: Matrix Computations, 2nd edn. The Johns Hopkins University Press, Baltimore (1990)
Goubault, E.: Static analyses of the precision of floating-point operations. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, p. 234. Springer, Heidelberg (2001)
Goubault, E., Martel, M., Putot, S.: Asserting the precision of floating-point computations: a simple abstract interpreter. In: Le Métayer, D. (ed.) ESOP 2002. LNCS, vol. 2305, pp. 209–212. Springer, Heidelberg (2002)
Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Frontiers in Applied Mathematics. SIAM, Philadelphia (2000)
Griewank, A., Juedes, D., Utke, J.: ADOL-C, a package for the automatic differentiation of algorithms written in c/c++. ACM Trans. Math. Software 22, 131–167 (1996)
Grimmer, M., Petras, K., Revol, N.: Multiple precision interval packages: Comparing different approaches. In: Alt, R., Frommer, A., Kearfott, R.B., Luther, W. (eds.) Dagstuhl Seminar 2003. LNCS, vol. 2991, pp. 64–90. Springer, Heidelberg (2004)
Hanrot, G., Lefevre, V., Rouillier, F., Zimmermann, P.: The MPFR library. Institut de Recherche en Informatique et Automatique (2001)
Harrison, J.: A machine-checked theory of floating point arithmetic. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, p. 113. Springer, Heidelberg (1999)
Langlois, P.: Automatic linear correction of rounding errors. BIT, Numerical Mathematics 41(3), 515–539 (2001)
Langlois, P., Nativel, F.: Improving automatic reduction of round-off errors. In: IMACS World Congress on Scientific Computation, Modelling and Applied Mathematics, vol. 2 (1997)
Martel, M.: Propagation of roundoff errors in finite precision computations: a semantics approach. In: Le Métayer, D. (ed.) ESOP 2002. LNCS, vol. 2305, pp. 194–208. Springer, Heidelberg (2002)
Martel, M.: Static analysis of the numerical stability of loops. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, p. 133. Springer, Heidelberg (2002)
Michel, C., Rueher, M., Lebbah, Y.: Solving constraints over floating-point numbers. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, p. 524. Springer, Heidelberg (2001)
Monniaux, D.: Abstract interpretation of probabilistic semantics. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 322–340. Springer, Heidelberg (2000)
Monniaux, D.: An abstract Monte-Carlo method for the analysis of probabilistic programs. In: Principles of Programming Languages, POPL 2001. ACM Press, New York (2001)
Moore, R.E.: Methods and Applications of Interval Analysis. SIAM, Philadelphia (1979)
Potts, P.J., Edalat, A., Escardó, H.M.: Semantics of exact real arithmetic. In: Procs. of Logic in Computer Science. IEEE Computer Society Press, Los Alamitos (1997)
Priest, M.: Algorithms for arbitrary precision floating point arithmetic. In: Kornerup, P., Matula, D. (eds.) Symposium on Computer Arithmetic, pp. 132–144. IEEE Computer Society Press, Los Alamitos (1991)
Revol, N., Rouillier, F.: Motivations for an arbitrary precision interval arithmetic and the MPFI library. Technical Report RR-200227, Laboratoire de l’Informatique du Parallélisme, ENS-Lyon, France (2002)
Vignes, J.: A stochastic arithmetic for reliable scientific computation. Mathematics and Computers in Simulation 35(3), 233–261 (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Martel, M. (2005). An Overview of Semantics for the Validation of Numerical Programs. In: Cousot, R. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2005. Lecture Notes in Computer Science, vol 3385. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30579-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-30579-8_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24297-0
Online ISBN: 978-3-540-30579-8
eBook Packages: Computer ScienceComputer Science (R0)