Advertisement

Generalized Property-Directed Reachability for Hybrid Systems

  • Kohei SuenagaEmail author
  • Takuya Ishizawa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11990)

Abstract

Generalized property-directed reachability (GPDR) belongs to the family of the model-checking techniques called IC3/PDR. It has been successfully applied to software verification; for example, it is the core of Spacer, a state-of-the-art Horn-clause solver bundled with Z3. However, it has yet to be applied to hybrid systems, which involve a continuous evolution of values over time. As the first step towards GPDR-based model checking for hybrid systems, this paper formalizes \(\textsc {HGPDR}\), an adaptation of GPDR to hybrid systems, and proves its soundness. We also implemented a semi-automated proof-of-concept verifier, which allows a user to provide hints to guide verification steps.

Keywords

Hybrid systems Property-directed reachability IC3 Model checking Verification 

Notes

Acknowledgements

We appreciate the comments from the anonymous reviewers, John Toman, and Naoki Kobayashi. This work is partially supported by JST PRESTO Grant Number JPMJPR15E5, JSPS KAKENHI Grant Number 19H04084, and JST ERATO MMSD project.

References

  1. 1.
    Hindmarsh, A.C.: ODEPACK, a systematized collection of ODE solvers. In: Stepleman, R.S., et al. (eds.) Scientific Computing, North-Holland, Amsterdam, vol. 1 of IMACS Transactions on Scientific Computation, pp. 55–64 (1983). http://www.llnl.gov/CASC/nsde/pubs/u88007.pdf
  2. 2.
    Albarghouthi, A., McMillan, K.L.: Beautiful interpolants. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 313–329. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39799-8_22CrossRefGoogle Scholar
  3. 3.
    Alur, R., Courcoubetis, C., Henzinger, T.A., Ho, P.-H.: Hybrid automata: an algorithmic approach to the specification and verification of hybrid systems. In: Grossman, R.L., Nerode, A., Ravn, A.P., Rischel, H. (eds.) HS 1991-1992. LNCS, vol. 736, pp. 209–229. Springer, Heidelberg (1993).  https://doi.org/10.1007/3-540-57318-6_30CrossRefGoogle Scholar
  4. 4.
    Behrmann, G., Bouyer, P., Larsen, K.G., Pelánek, R.: Lower and upper bounds in zone-based abstractions of timed automata. STTT 8(3), 204–215 (2006)CrossRefGoogle Scholar
  5. 5.
    Birgmeier, J., Bradley, A.R., Weissenbacher, G.: Counterexample to induction-guided abstraction-refinement (CTIGAR). In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 831–848. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-08867-9_55CrossRefGoogle Scholar
  6. 6.
    Bjørner, N., Gurfinkel, A., McMillan, K., Rybalchenko, A.: Horn clause solvers for program verification. In: Beklemishev, L.D., Blass, A., Dershowitz, N., Finkbeiner, B., Schulte, W. (eds.) Fields of Logic and Computation II. LNCS, vol. 9300, pp. 24–51. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-23534-9_2CrossRefGoogle Scholar
  7. 7.
    Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-18275-4_7CrossRefGoogle Scholar
  8. 8.
    Champion, A., Chiba, T., Kobayashi, N., Sato, R.: ICE-based refinement type discovery for higher-order functional programs. In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10805, pp. 365–384. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-89960-2_20CrossRefGoogle Scholar
  9. 9.
    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).  https://doi.org/10.1007/978-3-642-39799-8_18CrossRefGoogle Scholar
  10. 10.
    Cimatti, A., Griggio, A.: Software model checking via IC3. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 277–293. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-31424-7_23CrossRefGoogle Scholar
  11. 11.
    Cimatti, A., Griggio, A., Mover, S., Tonetta, S.: Parameter synthesis with IC3. In: Formal Methods in Computer-Aided Design, FMCAD 2013, Portland, OR, USA, October 20–23, 2013, pp. 165–168 (2013). http://ieeexplore.ieee.org/document/6679406/
  12. 12.
    Cimatti, A., Griggio, A., Mover, S., Tonetta, S.: IC3 modulo theories via implicit predicate abstraction. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 46–61. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-642-54862-8_4CrossRefzbMATHGoogle Scholar
  13. 13.
    Cimatti, A., Griggio, A., Mover, S., Tonetta, S.: HyComp: an SMT-based model checker for hybrid systems. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 52–67. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-46681-0_4CrossRefGoogle Scholar
  14. 14.
    Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)zbMATHGoogle Scholar
  15. 15.
    Colón, M.A., Sankaranarayanan, S., Sipma, H.B.: Linear invariant generation using non-linear constraint solving. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 420–432. Springer, Heidelberg (2003).  https://doi.org/10.1007/978-3-540-45069-6_39CrossRefGoogle Scholar
  16. 16.
    Fulton, N., Mitsch, S., Quesel, J.-D., Völp, M., Platzer, A.: KeYmaera X: an axiomatic tactical theorem prover for hybrid systems. In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 527–538. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-21401-6_36CrossRefGoogle Scholar
  17. 17.
    Hashimoto, K., Unno, H.: Refinement type inference via horn constraint optimization. In: Blazy, S., Jensen, T. (eds.) SAS 2015. LNCS, vol. 9291, pp. 199–216. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-48288-9_12CrossRefGoogle Scholar
  18. 18.
    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).  https://doi.org/10.1007/978-3-642-31424-7_34CrossRefGoogle Scholar
  19. 19.
    Henzinger, T.A., Ho, P., Wong-Toi, H.: HYTECH: a model checker for hybrid systems. STTT 1(1–2), 110–122 (1997).  https://doi.org/10.1007/s100090050008CrossRefzbMATHGoogle Scholar
  20. 20.
    Hoder, K., Bjørner, N.: Generalized property directed reachability. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 157–171. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-31612-8_13CrossRefGoogle Scholar
  21. 21.
    Hoder, K., Bjørner, N., de Moura, L.: \(\mu \)Z – an efficient engine for fixed points with constraints. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 457–462. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-22110-1_36CrossRefGoogle Scholar
  22. 22.
    Isenberg, T., Wehrheim, H.: Timed automata verification via IC3 with zones. In: Merz, S., Pang, J. (eds.) ICFEM 2014. LNCS, vol. 8829, pp. 203–218. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11737-9_14CrossRefGoogle Scholar
  23. 23.
    Kapur, A., Henzinger, T.A., Manna, Z., Pnueli, A.: Proving safety properties of hybrid systems. In: Langmaack, H., de Roever, W.-P., Vytopil, J. (eds.) FTRTFT 1994. LNCS, vol. 863, pp. 431–454. Springer, Heidelberg (1994).  https://doi.org/10.1007/3-540-58468-4_177CrossRefGoogle Scholar
  24. 24.
    Kindermann, R.: SMT-based verification of timed systems and software. Ph. D. thesis, Aalto University, Helsinki, Finland (2014). https://aaltodoc.aalto.fi/handle/123456789/19852
  25. 25.
    Kindermann, R., Junttila, T., Niemelä, I.: SMT-based induction methods for timed systems. In: Jurdziński, M., Ničković, D. (eds.) FORMATS 2012. LNCS, vol. 7595, pp. 171–187. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33365-1_13CrossRefzbMATHGoogle Scholar
  26. 26.
    Lange, T., Neuhäußer, M.R., Noll, T.: IC3 software model checking on control flow automata. In: Formal Methods in Computer-Aided Design, FMCAD 2015, Austin, Texas, USA, September 27–30, 2015, pp. 97–104 (2015)Google Scholar
  27. 27.
    Lebeltel, O., Cotton, S., Frehse, G.: The SpaceEx modeling language (December 2010)Google Scholar
  28. 28.
    Liu, J., Zhan, N., Zhao, H.: Computing semi-algebraic invariants for polynomial dynamical systems. In: Proceedings of the 11th International Conference on Embedded Software, EMSOFT 2011, Part of the Seventh Embedded Systems Week, ESWeek 2011, Taipei, Taiwan, October 9–14, 2011, pp. 97–106 (2011).  https://doi.org/10.1145/2038642.2038659
  29. 29.
    de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-78800-3_24CrossRefGoogle Scholar
  30. 30.
    Nakamura, H., Kojima, K., Suenaga, K., Igarashi, A.: A nonstandard functional programming language. In: Chang, B.-Y.E. (ed.) APLAS 2017. LNCS, vol. 10695, pp. 514–533. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-71237-6_25CrossRefGoogle Scholar
  31. 31.
    Okudono, T., Nishida, Y., Kojima, K., Suenaga, K., Kido, K., Hasuo, I.: Sharper and simpler nonlinear interpolants for program verification. In: Chang, B.-Y.E. (ed.) APLAS 2017. LNCS, vol. 10695, pp. 491–513. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-71237-6_24CrossRefGoogle Scholar
  32. 32.
    Platzer, A.: Differential dynamic logic for hybrid systems. J. Autom. Reason. 41(2), 143–189 (2008).  https://doi.org/10.1007/s10817-008-9103-8MathSciNetCrossRefzbMATHGoogle Scholar
  33. 33.
    Platzer, A.: Differential dynamic logics. KI 24(1), 75–77 (2010).  https://doi.org/10.1007/s13218-010-0014-6CrossRefGoogle Scholar
  34. 34.
    Prajna, S., Jadbabaie, A.: Safety verification of hybrid systems using barrier certificates. In: Alur, R., Pappas, G.J. (eds.) HSCC 2004. LNCS, vol. 2993, pp. 477–492. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-24743-2_32CrossRefzbMATHGoogle Scholar
  35. 35.
    Sankaranarayanan, S., Sipma, H., Manna, Z.: Non-linear loop invariant generation using gröbner bases. In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2004, Venice, Italy, January 14–16, 2004, pp. 318–329 (2004).  https://doi.org/10.1145/964001.964028
  36. 36.
    Suenaga, K., Hasuo, I.: Programming with infinitesimals: a While-language for hybrid system modeling. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011. LNCS, vol. 6756, pp. 392–403. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-22012-8_31CrossRefzbMATHGoogle Scholar
  37. 37.
    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 - January 23–25, 2013, pp. 417–430 (2013).  https://doi.org/10.1145/2429069.2429120
  38. 38.
    Wang, F.: Efficient verification of timed automata with bdd-like data structures. STTT 6(1), 77–97 (2004).  https://doi.org/10.1007/s10009-003-0135-4CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Kyoto UniversityKyotoJapan
  2. 2.JST PRESTOTokyoJapan

Personalised recommendations