Advertisement

Abstract Interpretation with Infinitesimals

Towards Scalability in Nonstandard Static Analysis
  • Kengo Kido
  • Swarat Chaudhuri
  • Ichiro Hasuo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Widening Operator Convex Polyhedron Abstract Interpretation Iteration Sequence Hybrid Automaton 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 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)CrossRefGoogle Scholar
  2. 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)MathSciNetCrossRefGoogle Scholar
  3. 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)zbMATHMathSciNetCrossRefGoogle Scholar
  4. 4.
    Beauxis, R., Mimram, S.: A non-standard semantics for Kahn networks in continuous time. In: CSL, pp. 35–50 (2011)Google Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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)MathSciNetCrossRefGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 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. 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. 11.
    Cousot, P., Cousot, R.: Abstract interpretation frameworks. J. Log. Comput. 2(4), 511–547 (1992)zbMATHMathSciNetCrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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. 14.
    Feret, J.: Static analysis of digital filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 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. 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)CrossRefGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 18.
    Goldblatt, R.: Lectures on the Hyperreals: An Introduction to Nonstandard Analysis. Graduate Texts in Mathematics. Springer, New York (1998)zbMATHCrossRefGoogle Scholar
  19. 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. 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. 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)CrossRefGoogle Scholar
  22. 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)CrossRefGoogle Scholar
  23. 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. 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. 25.
    Henzinger, T.A., Ho, P., Wong-Toi, H.: HYTECH: A model checker for hybrid systems. STTT 1(1–2), 110–122 (1997)zbMATHCrossRefGoogle Scholar
  26. 26.
    Hurd, A., Loeb, P.: An Introduction to Nonstandard Real Analysis. Pure and Applied Mathematics. Elsevier Science, New York (1985)zbMATHGoogle Scholar
  27. 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. 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. 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. 30.
    Le Verge, H.: A note on Chernikova’s Algorithm. Technical report 635, IRISA, Rennes, France, Febuary 1992Google Scholar
  31. 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)CrossRefGoogle Scholar
  32. 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)CrossRefGoogle Scholar
  33. 33.
    Robinson, A.: Non-standard Analysis. Studies in logic and the foundations of mathematics. North-Holland Pub. Co., Amsterdam (1966)zbMATHGoogle Scholar
  34. 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)CrossRefGoogle Scholar
  35. 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. 36.
    Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge (1993)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.University of TokyoTokyoJapan
  2. 2.JSPS Research FellowTokyoJapan
  3. 3.Rice UniversityHoustonUSA

Personalised recommendations