Skip to main content

An Overview of Semantics for the Validation of Numerical Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3385))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alligood, K.T., Sauer, T.D., Yorke, J.A.: Chaos, an Introduction to Dynamical Systems. Springer, Heidelberg (1996)

    MATH  Google Scholar 

  2. ANSI/IEEE. IEEE Standard for Binary Floating Point Arithmetic, Std 754 edn. (1985)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Bronnimann, H., Melquiond, G.: The boost interval arithmetic library. In: Real Numbers and Computers Conference, RNC’5 (2003)

    Google Scholar 

  7. CADNA for C/C++ source codes User’s Guide, http://www-anp.lip6.fr/cadna/Documentation/Accueil.php

  8. Chaitin-Chatelin, F., Frayssé, V.: Lectures on Finite Precision Computations. SIAM, Philadelphia (1996)

    Book  MATH  Google Scholar 

  9. Chesneaux, J.-M.: L’arithmétique stochastique et le logiciel CADNA. Habilitation à diriger des recherches, Université Pierre et Marie Curie, Paris (1995)

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys 23(1) (1991)

    Google Scholar 

  12. Golub, G.H., Van Loan, C.F.: Matrix Computations, 2nd edn. The Johns Hopkins University Press, Baltimore (1990)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Frontiers in Applied Mathematics. SIAM, Philadelphia (2000)

    MATH  Google Scholar 

  16. 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)

    Article  MATH  Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. Hanrot, G., Lefevre, V., Rouillier, F., Zimmermann, P.: The MPFR library. Institut de Recherche en Informatique et Automatique (2001)

    Google Scholar 

  19. 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)

    Chapter  Google Scholar 

  20. Langlois, P.: Automatic linear correction of rounding errors. BIT, Numerical Mathematics 41(3), 515–539 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Chapter  Google Scholar 

  23. 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)

    Chapter  Google Scholar 

  24. 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)

    Chapter  Google Scholar 

  25. Monniaux, D.: Abstract interpretation of probabilistic semantics. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 322–340. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  26. 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)

    Google Scholar 

  27. Moore, R.E.: Methods and Applications of Interval Analysis. SIAM, Philadelphia (1979)

    MATH  Google Scholar 

  28. 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)

    Google Scholar 

  29. 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)

    Chapter  Google Scholar 

  30. 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)

    Google Scholar 

  31. Vignes, J.: A stochastic arithmetic for reliable scientific computation. Mathematics and Computers in Simulation 35(3), 233–261 (1993)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics