An Overview of Semantics for the Validation of Numerical Programs

  • Matthieu Martel
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alligood, K.T., Sauer, T.D., Yorke, J.A.: Chaos, an Introduction to Dynamical Systems. Springer, Heidelberg (1996)MATHGoogle Scholar
  2. 2.
    ANSI/IEEE. IEEE Standard for Binary Floating Point Arithmetic, Std 754 edn. (1985)Google Scholar
  3. 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. 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. 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. 6.
    Bronnimann, H., Melquiond, G.: The boost interval arithmetic library. In: Real Numbers and Computers Conference, RNC’5 (2003)Google Scholar
  7. 7.
    CADNA for C/C++ source codes User’s Guide, http://www-anp.lip6.fr/cadna/Documentation/Accueil.php
  8. 8.
    Chaitin-Chatelin, F., Frayssé, V.: Lectures on Finite Precision Computations. SIAM, Philadelphia (1996)MATHCrossRefGoogle Scholar
  9. 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. 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)CrossRefGoogle Scholar
  11. 11.
    Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys 23(1) (1991)Google Scholar
  12. 12.
    Golub, G.H., Van Loan, C.F.: Matrix Computations, 2nd edn. The Johns Hopkins University Press, Baltimore (1990)Google Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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)CrossRefGoogle Scholar
  15. 15.
    Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Frontiers in Applied Mathematics. SIAM, Philadelphia (2000)MATHGoogle Scholar
  16. 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)MATHCrossRefGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 18.
    Hanrot, G., Lefevre, V., Rouillier, F., Zimmermann, P.: The MPFR library. Institut de Recherche en Informatique et Automatique (2001)Google Scholar
  19. 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)CrossRefGoogle Scholar
  20. 20.
    Langlois, P.: Automatic linear correction of rounding errors. BIT, Numerical Mathematics 41(3), 515–539 (2001)MATHCrossRefMathSciNetGoogle Scholar
  21. 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. 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)CrossRefGoogle Scholar
  23. 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)CrossRefGoogle Scholar
  24. 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)CrossRefGoogle Scholar
  25. 25.
    Monniaux, D.: Abstract interpretation of probabilistic semantics. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 322–340. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  26. 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. 27.
    Moore, R.E.: Methods and Applications of Interval Analysis. SIAM, Philadelphia (1979)MATHGoogle Scholar
  28. 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. 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)CrossRefGoogle Scholar
  30. 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. 31.
    Vignes, J.: A stochastic arithmetic for reliable scientific computation. Mathematics and Computers in Simulation 35(3), 233–261 (1993)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Matthieu Martel
    • 1
  1. 1.CEA – Recherche TechnologiqueLIST-DTSI-SOLGif-Sur-YvetteFrance

Personalised recommendations