Skip to main content

Automatic Estimation of Verified Floating-Point Round-Off Errors via Static Analysis

  • Conference paper
  • First Online:
Computer Safety, Reliability, and Security (SAFECOMP 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10488))

Included in the following conference series:

Abstract

This paper introduces a static analysis technique for computing formally verified round-off error bounds of floating-point functional expressions. The technique is based on a denotational semantics that computes a symbolic estimation of floating-point round-off errors along with a proof certificate that ensures its correctness. The symbolic estimation can be evaluated on concrete inputs using rigorous enclosure methods to produce formally verified numerical error bounds. The proposed technique is implemented in the prototype research tool PRECiSA (Program Round-off Error Certifier via Static Analysis) and used in the verification of floating-point programs of interest to NASA.

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

Access this chapter

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 EPUB and 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

Institutional subscriptions

Notes

  1. 1.

    https://github.com/nasa/PRECiSA.

  2. 2.

    http://precisa.nianet.org.

  3. 3.

    https://shemesh.larc.nasa.gov/fm/ftp/larc/PVS-library.

  4. 4.

    Times for PRECiSA do not include type-checking of the PVS formalization, which takes approximately 4 min. However, this type-checking only occurs once at the beginning of the same PVS session used to compute all the bounds in Table 1.

References

  1. de Figueiredo, L.H., Stolfi, J.: Affine arithmetic: concepts and applications. Numer. Algorithms 37(1–4), 147–158 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  2. Lorentz, G.G.: Bernstein Polynomials. Chelsea Publishing Company, London (1986)

    MATH  Google Scholar 

  3. Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992). doi:10.1007/3-540-55602-8_217

    Google Scholar 

  4. Miner, P.: Defining the IEEE-854 floating-point standard in PVS. Technical report TM-1995-110167, NASA (1995)

    Google Scholar 

  5. Boldo, S., Muñoz, C.: A high-level formalization of floating-point numbers in PVS. Technical report CR-2006-214298, NASA (2006)

    Google Scholar 

  6. Harrison, J.: A machine-checked theory of floating point arithmetic. In: Bertot, Y., Dowek, G., Théry, L., Hirschowitz, A., Paulin, C. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 113–130. Springer, Heidelberg (1999). doi:10.1007/3-540-48256-3_9

    Chapter  Google Scholar 

  7. Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pac. J. Math. 5, 285–309 (1955)

    Article  MathSciNet  MATH  Google Scholar 

  8. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of POPL 1977, pp. 238–252. ACM (1977)

    Google Scholar 

  9. Narkawicz, A., Muñoz, C.: A formally verified generic branching algorithm for global optimization. In: Cohen, E., Rybalchenko, A. (eds.) VSTTE 2013. LNCS, vol. 8164, pp. 326–343. Springer, Heidelberg (2014). doi:10.1007/978-3-642-54108-7_17

    Chapter  Google Scholar 

  10. Moscato, M.M., Muñoz, C.A., Smith, A.P.: Affine arithmetic and applications to real-number proving. In: Urban, C., Zhang, X. (eds.) ITP 2015. LNCS, vol. 9236, pp. 294–309. Springer, Cham (2015). doi:10.1007/978-3-319-22102-1_20

    Google Scholar 

  11. Muñoz, C., Narkawicz, A.: Formalization of a representation of Bernstein polynomials and applications to global optimization. J. Autom. Reason. 51(2), 151–196 (2013)

    Article  MATH  Google Scholar 

  12. de Dinechin, F., Lauter, C., Melquiond, G.: Certifying the floating-point implementation of an elementary function using Gappa. IEEE Trans. Comput. 60(2), 242–253 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  13. Goubault, E., Putot, S.: Static analysis of numerical algorithms. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 18–34. Springer, Heidelberg (2006). doi:10.1007/11823230_3

    Chapter  Google Scholar 

  14. Solovyev, A., Jacobsen, C., Rakamarić, Z., Gopalakrishnan, G.: Rigorous estimation of floating-point round-off errors with symbolic Taylor expansions. In: Bjørner, N., de Boer, F. (eds.) FM 2015. LNCS, vol. 9109, pp. 532–550. Springer, Cham (2015). doi:10.1007/978-3-319-19249-9_33

    Chapter  Google Scholar 

  15. Magron, V., Constantinides, G., Donaldson, A.: Certified roundoff error bounds using semi definite programming. CoRR abs/1507.03331 (2015)

    Google Scholar 

  16. Smith, A., Muñoz, C., Narkawicz, A., Markevicius, M.: A rigorous generic branch and bound solver for nonlinear problems. In: Proceedings of SYNASC 2015. IEEE Computer Society Conference Publishing Services, September 2015

    Google Scholar 

  17. 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). doi:10.1007/978-3-642-18275-4_17

    Chapter  Google Scholar 

  18. Harrison, J.: HOL light: an overview. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 60–66. Springer, Heidelberg (2009). doi:10.1007/978-3-642-03359-9_4

    Chapter  Google Scholar 

  19. Ramananandro, T., Mountcastle, P., Meister, B., Lethin, R.: A unified COQ framework for verifying C programs with floating-point computations. In: Proceedings of CPP 2016, pp. 15–26. ACM (2016)

    Google Scholar 

  20. Darulova, E., Kuncak, V.: Sound compilation of reals. In: Proceedings of POPL 2014, pp. 235–248. ACM (2014)

    Google Scholar 

  21. Chiang, W., Baranowski, M., Briggs, I., Solovyev, A., Gopalakrishnan, G., Rakamarić, Z.: Rigorous floating-point mixed-precision tuning. In: Proceedings of POPL 2017, pp. 300–315. ACM (2017)

    Google Scholar 

  22. Goubault, E., Putot, S.: Robustness analysis of finite precision implementations. In: Shan, C. (ed.) APLAS 2013. LNCS, vol. 8301, pp. 50–57. Springer, Cham (2013). doi:10.1007/978-3-319-03542-0_4

    Chapter  Google Scholar 

  23. Muñoz, C., Dutle, A., Narkawicz, A., Upchurch, J.: Unmanned aircraft systems in the national airspace system: a formal methods perspective. ACM SIGLOG News 3(3), 67–76 (2016)

    Google Scholar 

  24. Daumas, M., Lester, D.R., Muñoz, C.: Verified real number calculations: a library for interval arithmetic. IEEE Trans. Comput. 58(2), 226–237 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  25. Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-c: a software analysis perspective. Formal Asp. Comp. 27(3), 573–609 (2015)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

Research by the first two authors was supported by the National Aeronautics and Space Administration under NASA/NIA Cooperative Agreement NNL09AA00A.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Mariano Moscato or Laura Titolo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Moscato, M., Titolo, L., Dutle, A., Muñoz, C.A. (2017). Automatic Estimation of Verified Floating-Point Round-Off Errors via Static Analysis. In: Tonetta, S., Schoitsch, E., Bitsch, F. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2017. Lecture Notes in Computer Science(), vol 10488. Springer, Cham. https://doi.org/10.1007/978-3-319-66266-4_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-66266-4_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-66265-7

  • Online ISBN: 978-3-319-66266-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics