Abstract
Interval arithmetic introduced by Ramon E. Moore in scientific computing to put bounds on rounding errors in floating point computations was a very first example of dynamic program analysis. We show that it can be formalized by abstract interpretation.
Dedicated to Klaus Havelund
for his 65 \({}^{\textit{th}}\) birthday
Supported by NSF Grant CCF-1617717.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Bartocci, E., Falcone, Y., Francalanza, A., Reger, G.: Introduction to runtime verification. In: Lectures on Runtime Verification. Lecture Notes in Computer Science, vol. 10457, pp. 1–33. Springer (2018)
Brönnimann, H., Melquiond, G., Pion, S.: The design of the Boost interval arithmetic library. Theor. Comput. Sci. 351(1), 111–118 (2006)
Cousot, P.: The calculational design of a generic abstract interpreter. In: Broy, M., Steinbrüggen, R. (eds.) Calculational System Design. NATO ASI Series F. IOS Press (1999)
Cousot, P.: Abstracting induction by extrapolation and interpolation. In: VMCAI. Lecture Notes in Computer Science, vol. 8931, pp. 19–42. Springer (2015)
Cousot, P.: Calculational design of a regular model checker by abstract interpretation. In: ICTAC 2019. Lecture Notes in Computer Science, vol. 11884, pp. 3–21. Springer (2019)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL. pp. 238–252. ACM (1977)
Cousot, P., Cousot, R.: Constructive versions of Tarski’s fixed point theorems. Pacific Journal of Mathematics 82(1), 43–57 (1979)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL. pp. 269–282. ACM Press (1979)
Cousot, P., Cousot, R.: Galois connection based abstract interpretations for strictness analysis (invited paper). In: Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol. 735, pp. 98–127. Springer (1993)
Damouche, N., Martel, M., Chapoutot, A.: Numerical program optimisation by automatic improvement of the accuracy of computations. IJIEI 6(1/2), 115–145 (2018)
Delmas, D., Éric Goubault, Putot, S., Souyris, J., Tekkal, K., Védrine, F.: Towards an industrial use of FLUCTUAT on safety–critical avionics software. In: FMICS. Lecture Notes in Computer Science, vol. 5825, pp. 53–69. Springer (2009)
Falcone, Y., Havelund, K., Reger, G.: A tutorial on runtime verification. In: Broy, M., Peled, D., Kalus, G. (eds.) Engineering Dependable Software Systems, NATO Science for Peace and Security Series, D: Information and Communication Security, vol. 34, pp. 141–175. IOS Press (2013)
Ghorbal, K., Éric Goubault, Putot, S.: The zonotope abstract domain Taylor1+. In: CAV. Lecture Notes in Computer Science, vol. 5643, pp. 627–633. Springer (2009)
Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991)
Éric Goubault, Putot, S.: Static analysis of numerical algorithms. In: SAS. Lecture Notes in Computer Science, vol. 4134, pp. 18–34. Springer (2006)
Éric Goubault, Putot, S.: A zonotopic framework for functional abstractions. Formal Methods in System Design 47(3), 302–360 (2015)
Éric Goubault, Putot, S.: Inner and outer reachability for the verification of control systems. In: HSCC. pp. 11–22. ACM (2019)
Éric Goubault, Putot, S., Baufreton, P., Gassino, J.: Static analysis of the accuracy in control systems: Principles and experiments. In: FMICS. Lecture Notes in Computer Science, vol. 4916, pp. 3–20. Springer (2007)
Éric Goubault, Putot, S., Sahlmann, L.: Inner and outer approximating flowpipes for delay differential equations. In: CAV (2). Lecture Notes in Computer Science, vol. 10982, pp. 523–541. Springer (2018)
Éric Goubault, Putot, S., Védrine, F.: Modular static analysis with zonotopes. In: SAS. Lecture Notes in Computer Science, vol. 7460, pp. 24–40. Springer (2012)
Havelund, K., Goldberg, A.: Verify your runs. In: VSTTE. Lecture Notes in Computer Science, vol. 4171, pp. 374–383. Springer (2005)
Havelund, K., Reger, G., Rosu, G.: Runtime verification past experiences and future projections. In: Computing and Software Science. Lecture Notes in Computer Science, vol. 10000, pp. 532–562. Springer (2019)
Havelund, K., Rosu, G.: Runtime verification - 17 years later. In: RV. Lecture Notes in Computer Science, vol. 11237, pp. 3–17. Springer (2018)
IEEE: IEEE Standard for Binary Floating-Point Arithmetic. American National Standards Institute and Institute of Electrical and Electronic Engineers, ANSI/IEEE Standard 754–1985 (1985)
Isaacson, E., Keller, H.B.: Analysis of Numerical Methods. Dover Books on Mathematics (1994)
Jourdan, J.H., Laporte, V., Blazy, S., Leroy, X., Pichardie, D.: A formally-verified C static analyzer. In: POPL. pp. 247–259. ACM (2015)
Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)
Leroy, X.: Formally verifying a compiler: What does it mean, exactly? In: ICALP. LIPIcs, vol. 55, pp. 2:1–2:1. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2016), (Slides at https://xavierleroy.org/talks/ICALP2016.pdf)
Martel, M.: Rangelab: A static-analyzer to bound the accuracy of finite-precision computations. In: SYNASC. pp. 118–122. IEEE Computer Society (2011)
Monniaux, D.: The pitfalls of verifying floating-point computations. ACM Trans. Program. Lang. Syst. 30(3), 12:1–12:41 (2008)
Moore, R.E.: Interval Analysis. Prentice Hall (1966)
Moore, R.E.: Methods and Applications of Interval Analysis. SIAM Studies in Applied Mathematics, SIAM (1995)
Moore, R.E., Kearfott, R.B., Cloud, M.J.: Introduction to Interval Analysis. Society for Industrial and Applied Mathematics (Mar 2009)
Mycroft, A.: The theory and practice of transforming call–by–need into call–by–value. In: Symposium on Programming. Lecture Notes in Computer Science, vol. 83, pp. 269–281. Springer (1980)
Older, W.J.: CLP (intervals). ACM Comput. Surv. 28(4es), 71 (1996)
Older, W.J., Vellino, A.: Constraint arithmetic on real intervals. In: WCLP. pp. 175–195. MIT Press (1991)
Overton, M.L.: Numerical Computing with IEEE Floating Point Arithmetic - Including One Theorem, One Rule of Thumb, and One Hundred and One Exercices. SIAM (2001)
Truchet, C., Christie, M., Normand, J.M.: A tabu search method for interval constraints. In: CPAIOR. Lecture Notes in Computer Science, vol. 5015, pp. 372–376. Springer (2008)
Van Der Hoeven, J.: Ball arithmetic. In: Beckmann, A., Gaßner, C., Löwe, B. (eds.) International Workshop on Logical Approaches to Barriers in Computing and Complexity, pp. 179–208. No. 6 in Preprint-Reihe Mathematik, Ernst-Moritz-Arndt-Universität Greifswald (2010)
Van Der Hoeven, J., Lecerf, G.: Evaluating straight-line programs over balls. In: ARITH. pp. 142–149. IEEE Computer Society (2016)
Winskel, G.: A note on powerdomains and modality. In: FCT. Lecture Notes in Computer Science, vol. 158, pp. 505–514. Springer (1983)
Acknowledgement
This work was supported in part by NSF Grant CNS-1446511. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Cousot, P. (2021). Dynamic interval analysis by abstract interpretation. In: Bartocci, E., Falcone, Y., Leucker, M. (eds) Formal Methods in Outer Space. Lecture Notes in Computer Science(), vol 13065. Springer, Cham. https://doi.org/10.1007/978-3-030-87348-6_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-87348-6_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-87347-9
Online ISBN: 978-3-030-87348-6
eBook Packages: Computer ScienceComputer Science (R0)