Advertisement

Sound Probabilistic Numerical Error Analysis

  • Debasmita LoharEmail author
  • Milos Prokop
  • Eva Darulova
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11918)

Abstract

Numerical software uses floating-point arithmetic to implement real-valued algorithms which inevitably introduces roundoff errors. Additionally, in an effort to reduce energy consumption, approximate hardware introduces further errors. As errors are propagated through a computation, the result of the approximated floating-point program can be vastly different from the real-valued ideal one. Previous work on soundly bounding (roundoff) errors has focused on worst-case absolute error analysis. However, not all inputs and not all errors are equally likely such that these methods can lead to overly pessimistic error bounds.

In this paper, we present a sound probabilistic static analysis which takes into account the probability distributions of inputs and propagates roundoff and approximation errors probabilistically through the program. We observe that the computed probability distributions of errors are hard to interpret, and propose an alternative metric and computation of refined error bounds which are valid with some probability.

Keywords

Probabilistic analysis Floating-point Approximate computing 

References

  1. 1.
    IEEE Standard for Floating-Point Arithmetic. IEEE Std 754-2008 (2008)Google Scholar
  2. 2.
  3. 3.
    Project Sklearn-porter (2018). https://github.com/nok/sklearn-porter
  4. 4.
    Bouissou, O., Goubault, E., Goubault-Larrecq, J., Putot, S.: A generalization of p-boxes to affine arithmetic. Computing 94(2–4), 189–201 (2012)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Bouissou, O., Goubault, E., Putot, S., Chakarov, A., Sankaranarayanan, S.: Uncertainty propagation using probabilistic affine forms and concentration of measure inequalities. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 225–243. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-49674-9_13CrossRefzbMATHGoogle Scholar
  6. 6.
    Carpenter, B., et al.: Stan: a probabilistic programming language. J. Stat. Softw. Art. 76(1), 1–32 (2017)Google Scholar
  7. 7.
    Damouche, N., Martel, M., Chapoutot, A.: Improving the numerical accuracy of programs by automatic transformation. Int. J. Softw. Tools Technol. Transfer 19(4), 427–448 (2017)CrossRefGoogle Scholar
  8. 8.
    Darulova, E., Izycheva, A., Nasir, F., Ritter, F., Becker, H., Bastian, R.: Daisy - framework for analysis and optimization of numerical programs (tool paper). In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10805, pp. 270–287. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-89960-2_15CrossRefGoogle Scholar
  9. 9.
    Darulova, E., Kuncak, V.: Towards a compiler for reals. TOPLAS 39(2), 8 (2017)CrossRefGoogle Scholar
  10. 10.
    Daumas, M., Lester, D., Martin-Dorel, E., Truffert, A.: Improved bound for stochastic formal correctness of numerical algorithms. Innovations Syst. Softw. Eng. 6(3), 173–179 (2010)CrossRefGoogle Scholar
  11. 11.
    De Dinechin, F., Lauter, C.Q., Melquiond, G.: Assisted verification of elementary functions using Gappa. In: ACM Symposium on Applied Computing (2006)Google Scholar
  12. 12.
    Dhiflaoui, M., et al.: Certifying and repairing solutions to large LPs. How good are LP-solvers? In: SODA, pp. 255–256 (2003)Google Scholar
  13. 13.
    Ferson, S., Kreinovich, V., Ginzburg, L., Myers, D.S., Sentz, K.: Constructing probability boxes and Dempster-Shafer structures. Technical report, Sandia National Laboratories (2003)Google Scholar
  14. 14.
    de Figueiredo, L.H., Stolfi, J.: Affine arithmetic: concepts and applications. Numer. Algorithms 37(1–4), 147–158 (2004)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Goubault, E., Putot, S.: Static analysis of finite precision computations. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 232–247. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-18275-4_17CrossRefGoogle Scholar
  16. 16.
    Izycheva, A., Darulova, E.: On sound relative error bounds for floating-point arithmetic. In: FMCAD (2017)Google Scholar
  17. 17.
    Keil, C.: Lurupa - rigorous error bounds in linear programming. In: Algebraic and Numerical Algorithms and Computer-assisted Proofs. No. 05391 in Dagstuhl Seminar Proceedings (2006). http://drops.dagstuhl.de/opus/volltexte/2006/445
  18. 18.
    Lohar, D., Darulova, E., Putot, S., Goubault, E.: Discrete choice in the presence of numerical uncertainties. In: EMSOFT (2018)Google Scholar
  19. 19.
    Magron, V., Constantinides, G., Donaldson, A.: Certified roundoff error bounds using semidefinite programming. ACM Trans. Math. Softw. 43(4), 34 (2017)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Minka, T., et al.: Infer.NET 2.6 (2014). http://research.microsoft.com/infernet
  21. 21.
    Gehr, T., Misailovic, S., Vechev, M.: PSI: exact symbolic inference for probabilistic programs. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9779, pp. 62–83. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-41528-4_4CrossRefGoogle Scholar
  22. 22.
    Misailovic, S., Carbin, M., Achour, S., Qi, Z., Rinard, M.C.: Chisel: reliability- and accuracy-aware optimization of approximate computational kernels. In: OOPSLA (2014)Google Scholar
  23. 23.
    Moore, R.: Interval Analysis. Prentice-Hall, Upper Saddle River (1966)zbMATHGoogle Scholar
  24. 24.
    Moscato, M., Titolo, L., Dutle, A., Muñoz, C.A.: Automatic estimation of verified floating-point round-off errors via static analysis. In: Tonetta, S., Schoitsch, E., Bitsch, F. (eds.) SAFECOMP 2017. LNCS, vol. 10488, pp. 213–229. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-66266-4_14CrossRefGoogle Scholar
  25. 25.
    Nori, A.V., Hur, C.K., Rajamani, S.K., Samuel, S.: R2: an efficient MCMC sampler for probabilistic programs. In: AAAI (2014)Google Scholar
  26. 26.
    Sampson, A., Panchekha, P., Mytkowicz, T., McKinley, K.S., Grossman, D., Ceze, L.: Expressing and verifying probabilistic assertions. In: PLDI (2014)Google Scholar
  27. 27.
    Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., Grossman, D.: EnerJ: approximate data types for safe and general low-power computation. In: PLDI (2011)Google Scholar
  28. 28.
    Sankaranarayanan, S., Chakarov, A., Gulwani, S.: Static analysis for probabilistic programs: inferring whole program properties from finitely many paths. In: PLDI (2013)Google Scholar
  29. 29.
    Scott, N.S., Jézéquel, F., Denis, C., Chesneaux, J.M.: Numerical ‘health check’ for scientific codes: the CADNA approach. Comput. Phys. Commun. 176(8), 507–521 (2007)CrossRefGoogle Scholar
  30. 30.
    Shafer, G.: A Mathematical Theory of Evidence. Princeton University Press, Princeton (1976)zbMATHGoogle Scholar
  31. 31.
    Solovyev, A., Jacobsen, C., Rakamaric, Z., Gopalakrishnan, G.: Rigorous estimation of floating-point round-off errors with symbolic Taylor expansions. In: FM (2015)Google Scholar
  32. 32.
    Tang, E., Barr, E., Li, X., Su, Z.: Perturbing numerical calculations for statistical analysis of floating-point program (in)stability. In: ISSTA (2010)Google Scholar
  33. 33.
    Xu, Q., Mytkowicz, T., Kim, N.S.: Approximate computing: a survey. IEEE Des. Test 33(1), 8–22 (2016)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.MPI-SWS, Saarland Informatics CampusSaarbrückenGermany
  2. 2.University of EdinburghEdinburghUK

Personalised recommendations