Automatic Estimation of Verified Floating-Point Round-Off Errors via Static Analysis
- 1.2k Downloads
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.
Notes
Acknowledgments
Research by the first two authors was supported by the National Aeronautics and Space Administration under NASA/NIA Cooperative Agreement NNL09AA00A.
References
- 1.de Figueiredo, L.H., Stolfi, J.: Affine arithmetic: concepts and applications. Numer. Algorithms 37(1–4), 147–158 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
- 2.Lorentz, G.G.: Bernstein Polynomials. Chelsea Publishing Company, London (1986)zbMATHGoogle 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 CrossRefGoogle Scholar
- 7.Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pac. J. Math. 5, 285–309 (1955)MathSciNetCrossRefzbMATHGoogle 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 CrossRefGoogle 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)CrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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 CrossRefGoogle 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 CrossRefGoogle 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 2015Google 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 CrossRefGoogle 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 CrossRefGoogle 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 CrossRefGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefGoogle Scholar