Skip to main content

Equivalence-Based Abstraction Refinement for \(\mu \)HORS Model Checking

  • Conference paper
  • First Online:

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

Abstract

Kobayashi and Igarashi proposed model checking of \(\mu \)HORS (recursively-typed higher-order recursion schemes), by which a wide range of programs such as object-oriented programs and multi-threaded programs can be precisely modeled and verified. In this work, we present a procedure for \(\mu \)HORS model checking that improves the procedure based on automata-based abstraction refinement proposed by Kobayashi and Li. The new procedure optimizes each step of the abstract-check-refine paradigm of the previous procedure. Specially, it combines the strengths of automata-based and type-based abstraction refinement as equivalence-based abstraction refinement. We have implemented the new procedure, and confirmed that it always outperformed the original automata-based procedure on runtime efficiency, and successfully verified all benchmarks which were previously impossible.

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.

    Note that, the choice of \(\mathcal {B}_0\) would not affect relative completeness but practical efficiency of the procedure. An interested reader may wish to consult [8] for some approaches to constructing \(\mathcal {B}_0\).

  2. 2.

    It does not change the graph structure by doing so, because the arguments of \(B\) occurring in the reduction could never be merged according to the assumption on \(\sim \).

References

  1. Aehlig, K.: A finite semantics of simply-typed lambda terms for infinite runs of automata. Logical Methods Comput. Sci. 3(3), 1–23 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  2. Amadio, R.M., Cardelli, L.: Subtyping recursive types. ACM Trans. Program. Lang. Syst. 15(4), 575–631 (1993)

    Article  Google Scholar 

  3. Broadbent, C.H., Kobayashi, N.: Saturation-based model checking of higher-order recursion schemes. In: Rocca, S.R.D. (ed.) CSL 2013. LIPIcs, vol. 23, pp. 129–148. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2013)

    Google Scholar 

  4. Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications (2007). http://www.grappa.univ-lille3.fr/tata. Accessed 12 Oct 2007

  5. Knapik, T., Niwiński, D., Urzyczyn, P.: Higher-order pushdown trees are easy. In: Nielsen, M., Engberg, U. (eds.) FOSSACS 2002. LNCS, vol. 2303, pp. 205–222. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  6. Kobayashi, N.: Model checking higher-order programs. J. ACM 60(3), 20 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  7. Kobayashi, N., Igarashi, A.: Model-checking higher-order programs with recursive types. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 431–450. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  8. Kobayashi, N., Li, X.: Automata-based abstraction refinement for \(\rm \mu \)HORS model checking. In: Proceedings of LICS 2015, pp. 713–724. IEEE Computer Society (2015)

    Google Scholar 

  9. Kobayashi, N., Ong, C.H.L.: A type system equivalent to the modal mu-calculus model checking of higher-order recursion schemes. In: Proceedings of LICS 2009, pp. 179–188. IEEE Computer Society Press (2009)

    Google Scholar 

  10. Kobayashi, N., Sato, R., Unno, H.: Predicate abstraction and CEGAR for higher-order model checking. In: Hall, M.W., Padua, D.A. (eds.) PLDI 2011, pp. 222–233. ACM (2011)

    Google Scholar 

  11. Li, X., Kobayashi, N.: Equivalence-based abstraction refinement for \(\rm \mu \)HORS model checking. Full version, available from the first author’s web page (2016)

    Google Scholar 

  12. Ong, C.H.L.: On model-checking trees generated by higher-order recursion schemes. In: Proceedings of LICS 2006, pp. 81–90. IEEE Computer Society Press (2006)

    Google Scholar 

  13. Ong, C.H.L., Ramsay, S.: Verifying higher-order programs with pattern-matching algebraic data types. In: Ball, T., Sagiv, M. (eds.) POPL 2011, pp. 587–598. ACM Press (2011)

    Google Scholar 

  14. Ramsay, S., Neatherway, R., Ong, C.H.L.: An abstraction refinement approach to higher-order model checking. In: Jagannathan, S., Sewell, P. (eds.) POPL 2014. ACM (2014)

    Google Scholar 

Download references

Acknowledgment

We would like to thank anonymous referees for useful comments. This work was supported by JSPS Kakenhi 15H05706.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Xin Li or Naoki Kobayashi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Li, X., Kobayashi, N. (2016). Equivalence-Based Abstraction Refinement for \(\mu \)HORS Model Checking. In: Artho, C., Legay, A., Peled, D. (eds) Automated Technology for Verification and Analysis. ATVA 2016. Lecture Notes in Computer Science(), vol 9938. Springer, Cham. https://doi.org/10.1007/978-3-319-46520-3_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46520-3_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46519-7

  • Online ISBN: 978-3-319-46520-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics