Skip to main content

Abstract Interpretation with Infinitesimals

Towards Scalability in Nonstandard Static Analysis

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9583))

Abstract

We extend abstract interpretation for the purpose of verifying hybrid systems. Abstraction has been playing an important role in many verification methodologies for hybrid systems, but some special care is needed for abstraction of continuous dynamics defined by ODEs. We apply Cousot and Cousot’s framework of abstract interpretation to hybrid systems, almost as it is, by regarding continuous dynamics as an infinite iteration of infinitesimal discrete jumps. This extension follows the recent line of work by Suenaga, Hasuo and Sekine, where deductive verification is extended for hybrid systems by (1) introducing a constant \(\mathtt {dt}\) for an infinitesimal value; and (2) employing Robinson’s nonstandard analysis (NSA) to define mathematically rigorous semantics. Our theoretical results include soundness and termination via uniform widening operators; and our prototype implementation successfully verifies some benchmark examples.

We thank Kohei Suenaga and the anonymous referees for useful discussions and comments. This research was supported in part by Grants-in-Aid No. 24680001 & 15KT0012, JSPS; Grant-in-Aid for JSPS Fellows; NSF CAREER award #1156059; and NSF award #1162076.

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

Learn about institutional subscriptions

Notes

  1. 1.

    The prototype [29] is available at http://www-mmm.is.s.u-tokyo.ac.jp/~kkido/.

  2. 2.

    There are also examples in which discretization even leads to unsound analysis results.

  3. 3.

    The name “standard” is confusing with the distinction between standard and nonstandard entities in NSA. The use of “standard” in the former sense is scarce in this paper.

  4. 4.

    If we interpret commands as functions \( {\mathcal P}(\mathbf {Var}\rightarrow {}^{*}{}{\mathbb {R}}) \rightarrow {\mathcal P}(\mathbf {Var}\rightarrow {}^{*}{}{\mathbb {R}})\), the interpretation \(\llbracket \mathtt {while}\; x<10 \;\mathtt {do}\; x:= x+\mathtt {dt} \rrbracket \{(x\mapsto 0)\}\) by a least fixed point will be \(\{x\mapsto r \mid \exists n \in \mathbb {N}.\; r = n*\mathtt {dt}\}\), not \(\{x\mapsto r \mid \exists n \in {}^{*}{}{\mathbb {N}}.\; r = n*\mathtt {dt}\wedge r\le 10\}\) as we expect. The problem is that internality—an “well-behavedness” notion in NSA—is not preserved in such a modeling.

  5. 5.

    One can see that the ascending chain defined by \(X_n := \{k*\mathtt {dt}\mid 0\le k \le n\}\) does not have the supremum in \({}^{*}{}{{\mathcal P}}(\mathbb {R}^n)\) since \(\{k*\mathtt {dt}\mid k\in \mathbb {N}\}\) is not internal (see [28, Appendix A]).

  6. 6.

    Recall that \(\textsc {While}^{\mathtt {dt}}\) is a modeling language and we do not execute them.

References

  1. Alur, R., Courcoubetis, C., Henzinger, T.A., Ho, P.: Hybrid automata: an algorithmic approach to the specification and verification of hybrid systems. In: Grossman, R.L., Ravn, A.P., Rischel, H., Nerode, A. (eds.) HS 1991 and HS 1992. LNCS, vol. 736. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  2. Bagnara, R., Hill, P.M., Zaffanella, E.: The parma polyhedra library: toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Sci. Comput. Program. 72(1–2), 3–21 (2008)

    Article  MathSciNet  Google Scholar 

  3. Bagnara, R., Hill, P.M., Ricci, E., Zaffanella, E.: Precise widening operators for convex polyhedra. Sci. Comput. Program. 58(1–2), 28–56 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  4. Beauxis, R., Mimram, S.: A non-standard semantics for Kahn networks in continuous time. In: CSL, pp. 35–50 (2011)

    Google Scholar 

  5. Chen, X., Ábrahám, E., Sankaranarayanan, S.: Flow*: an analyzer for non-linear hybrid systems. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 258–263. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  6. Chernikova, N.: Algorithm for finding a general formula for the non-negative solutions of a system of linear equations. USSR Comput. Math. Math. Phys. 4(4), 151–158 (1964)

    Article  Google Scholar 

  7. Chernikova, N.: Algorithm for finding a general formula for the non-negative solutions of a system of linear inequalities. USSR Comput. Math. Math. Phys. 5(2), 228–233 (1965)

    Article  MathSciNet  Google Scholar 

  8. Chernikova, N.: Algorithm for discovering the set of all the solutions of a linear programming problem. USSR Comput. Math. Math. Phys. 8(6), 282–293 (1968)

    Article  Google Scholar 

  9. Cousot, P.: Semantic foundations of program analysis. In: Muchnick, S., Jones, N. (eds.) Program Flow Analysis: Theory and Applications, chap. 10, pp. 303–342. Prentice-Hall Inc, Englewood Cliffs, New Jersey (1981)

    Google Scholar 

  10. Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conference Record of the Fourth ACM Symposium on Principles of Programming Languages, Los Angeles, California, USA, January 1977. pp. 238–252 (1977)

    Google Scholar 

  11. Cousot, P., Cousot, R.: Abstract interpretation frameworks. J. Log. Comput. 2(4), 511–547 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  12. Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: The ASTREÉ analyzer. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 21–30. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  13. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona, USA, January 1978, pp. 84–96 (1978)

    Google Scholar 

  14. Feret, J.: Static analysis of digital filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  15. Fränzle, M., Herde, C., Teige, T., Ratschan, S., Schubert, T.: Efficient solving of large non-linear arithmetic constraint systems with complex boolean structure. JSAT 1(3–4), 209–236 (2007)

    Google Scholar 

  16. Frehse, G.: PHAVer: algorithmic verification of hybrid systems past HyTech. In: Morari, M., Thiele, L. (eds.) HSCC 2005. LNCS, vol. 3414, pp. 258–273. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  17. Frehse, G., Le Guernic, C., Donzé, A., Cotton, S., Ray, R., Lebeltel, O., Ripado, R., Girard, A., Dang, T., Maler, O.: SpaceEx: scalable verification of hybrid systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 379–395. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  18. Goldblatt, R.: Lectures on the Hyperreals: An Introduction to Nonstandard Analysis. Graduate Texts in Mathematics. Springer, New York (1998)

    Book  MATH  Google Scholar 

  19. Halbwachs, N.: Determination automatique de relations linaires vrifiespar les variables d’un programme. Thse de 3e cycle, Universit Scientifique et Mdicale de Grenoble (1979)

    Google Scholar 

  20. Halbwachs, N.: Delay analysis in synchronous programs. In: Proceedings of 5th International Conference on Computer Aided Verification, CAV 1993, Elounda, Greece, 28 June - 1 July 1993, pp. 333–346 (1993)

    Google Scholar 

  21. Halbwachs, N., Proy, Y., Roumanoff, P.: Verification of real-time systems using linear relation analysis. Formal Methods Syst. Des. 11(2), 157–185 (1997)

    Article  Google Scholar 

  22. Hasuo, I., Suenaga, K.: Exercises in Nonstandard Static Analysis of hybrid systems. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 462–478. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  23. Henriksen, K.S., Banda, G., Gallagher, J.P.: Experiments with a convex polyhedral analysis tool for logic programs. CoRR abs/0712.2737 (2007) http://arxiv.org/abs/0712.2737

  24. Henzinger, T.A., Ho, P.: Algorithmic analysis of nonlinear hybrid systems. In: Proceedings of 7th International Conference Computer Aided Verification, Liège, Belgium, 3–5 July 1995, pp. 225–238 (1995)

    Google Scholar 

  25. Henzinger, T.A., Ho, P., Wong-Toi, H.: HYTECH: A model checker for hybrid systems. STTT 1(1–2), 110–122 (1997)

    Article  MATH  Google Scholar 

  26. Hurd, A., Loeb, P.: An Introduction to Nonstandard Real Analysis. Pure and Applied Mathematics. Elsevier Science, New York (1985)

    MATH  Google Scholar 

  27. Kido, K.: An Alternative Denotational Semantics for an Imperative Language with Infinitesimals. Bachelor’s thesis, The University of Tokyo: Japan (2013)

    Google Scholar 

  28. Kido, K., Chaudhuri, S., Hasuo, I.: Abstract interpretation with infinitesimals–towards scalability in nonstandard static analysis (2015). extended version with appendices http://arxiv.org/

  29. Kido, K., Chaudhuri, S., Hasuo, I.: Source code of the prototype nonstandard abstract interpreter (2015). http://www-mmm.is.s.u-tokyo.ac.jp/~kkido/

  30. Le Verge, H.: A note on Chernikova’s Algorithm. Technical report 635, IRISA, Rennes, France, Febuary 1992

    Google Scholar 

  31. Mauborgne, L., Rival, X.: Trace partitioning in abstract interpretation based static analyzers. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 5–20. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  32. Platzer, A., Quesel, J.-D.: KeYmaera: a hybrid theorem prover for hybrid systems (system description). In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 171–178. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  33. Robinson, A.: Non-standard Analysis. Studies in logic and the foundations of mathematics. North-Holland Pub. Co., Amsterdam (1966)

    MATH  Google Scholar 

  34. Suenaga, K., Hasuo, I.: Programming with Infinitesimals: A While-Language for Hybrid System Modeling. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011, Part II. LNCS, vol. 6756, pp. 392–403. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  35. Suenaga, K., Sekine, H., Hasuo, I.: Hyperstream processing systems: nonstandard modeling of continuous-time signals. In: The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2013, Rome, Italy, 23–25 January 2013, pp. 417–430 (2013)

    Google Scholar 

  36. Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge (1993)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kengo Kido .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kido, K., Chaudhuri, S., Hasuo, I. (2016). Abstract Interpretation with Infinitesimals. In: Jobstmann, B., Leino, K. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2016. Lecture Notes in Computer Science(), vol 9583. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-49122-5_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-49122-5_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-49121-8

  • Online ISBN: 978-3-662-49122-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics