Skip to main content

Dynamic interval analysis by abstract interpretation

  • Chapter
  • First Online:
  • 455 Accesses

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

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   59.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

Learn about institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. Brönnimann, H., Melquiond, G., Pion, S.: The design of the Boost interval arithmetic library. Theor. Comput. Sci. 351(1), 111–118 (2006)

    Article  MathSciNet  Google Scholar 

  3. 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)

    Google Scholar 

  4. Cousot, P.: Abstracting induction by extrapolation and interpolation. In: VMCAI. Lecture Notes in Computer Science, vol. 8931, pp. 19–42. Springer (2015)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Cousot, P., Cousot, R.: Constructive versions of Tarski’s fixed point theorems. Pacific Journal of Mathematics 82(1), 43–57 (1979)

    Article  MathSciNet  Google Scholar 

  8. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL. pp. 269–282. ACM Press (1979)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Damouche, N., Martel, M., Chapoutot, A.: Numerical program optimisation by automatic improvement of the accuracy of computations. IJIEI 6(1/2), 115–145 (2018)

    Article  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991)

    Article  Google Scholar 

  15. Éric Goubault, Putot, S.: Static analysis of numerical algorithms. In: SAS. Lecture Notes in Computer Science, vol. 4134, pp. 18–34. Springer (2006)

    Google Scholar 

  16. Éric Goubault, Putot, S.: A zonotopic framework for functional abstractions. Formal Methods in System Design 47(3), 302–360 (2015)

    Google Scholar 

  17. Éric Goubault, Putot, S.: Inner and outer reachability for the verification of control systems. In: HSCC. pp. 11–22. ACM (2019)

    Google Scholar 

  18. É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)

    Google Scholar 

  19. É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)

    Google Scholar 

  20. É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)

    Google Scholar 

  21. Havelund, K., Goldberg, A.: Verify your runs. In: VSTTE. Lecture Notes in Computer Science, vol. 4171, pp. 374–383. Springer (2005)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. Havelund, K., Rosu, G.: Runtime verification - 17 years later. In: RV. Lecture Notes in Computer Science, vol. 11237, pp. 3–17. Springer (2018)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. Isaacson, E., Keller, H.B.: Analysis of Numerical Methods. Dover Books on Mathematics (1994)

    Google Scholar 

  26. Jourdan, J.H., Laporte, V., Blazy, S., Leroy, X., Pichardie, D.: A formally-verified C static analyzer. In: POPL. pp. 247–259. ACM (2015)

    Google Scholar 

  27. Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)

    Article  Google Scholar 

  28. 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)

  29. Martel, M.: Rangelab: A static-analyzer to bound the accuracy of finite-precision computations. In: SYNASC. pp. 118–122. IEEE Computer Society (2011)

    Google Scholar 

  30. Monniaux, D.: The pitfalls of verifying floating-point computations. ACM Trans. Program. Lang. Syst. 30(3), 12:1–12:41 (2008)

    Google Scholar 

  31. Moore, R.E.: Interval Analysis. Prentice Hall (1966)

    Google Scholar 

  32. Moore, R.E.: Methods and Applications of Interval Analysis. SIAM Studies in Applied Mathematics, SIAM (1995)

    Google Scholar 

  33. Moore, R.E., Kearfott, R.B., Cloud, M.J.: Introduction to Interval Analysis. Society for Industrial and Applied Mathematics (Mar 2009)

    Google Scholar 

  34. 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)

    Google Scholar 

  35. Older, W.J.: CLP (intervals). ACM Comput. Surv. 28(4es), 71 (1996)

    Google Scholar 

  36. Older, W.J., Vellino, A.: Constraint arithmetic on real intervals. In: WCLP. pp. 175–195. MIT Press (1991)

    Google Scholar 

  37. 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)

    Google Scholar 

  38. 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)

    Google Scholar 

  39. 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)

    Google Scholar 

  40. Van Der Hoeven, J., Lecerf, G.: Evaluating straight-line programs over balls. In: ARITH. pp. 142–149. IEEE Computer Society (2016)

    Google Scholar 

  41. Winskel, G.: A note on powerdomains and modality. In: FCT. Lecture Notes in Computer Science, vol. 158, pp. 505–514. Springer (1983)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Patrick Cousot .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics