Skip to main content

Program Certification by Higher-Order Model Checking

  • Conference paper
Certified Programs and Proofs (CPP 2012)

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

Included in the following conference series:

  • 632 Accesses

Abstract

Model checking of higher-order recursion schemes or (collapsible) higher-order pushdown automata (higher-order model checking, for short) is a generalization of finite state and pushdown model checking, which has been extensively studied in the last decade [1-11, 15-17]. Higher-order recursion schemes are essentially terms of the simply-typed (λ)-calculus with recursion and tree constructors; therefore, they serve as good models for higher-order functional programs. Indeed, various verification problems for higher-order functional programs can be easily reduced to higher-order model checking, and automated verification tools have been developed based on the reduction [9, 12-14, 18].

In the talk, I will first provide a brief introduction to higher-order model checking and its applications to higher-order program verification. I will then discuss higher-order model checking from the viewpoint of certificates. In particular, I plan to discuss the following questions: (i) How can we certify the result of program verification based on higher-order model checking? (ii) Why does higher-order model checking work at all, despite its extremely high worst-case complexity?

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

References

  1. Aehlig, K.: A finite semantics of simply-typed lambda terms for infinite runs of automata. Logical Methods in Computer Science 3(3) (2007)

    Google Scholar 

  2. Broadbent, C.H., Carayol, A., Hague, M., Serre, O.: A Saturation Method for Collapsible Pushdown Systems. In: Czumaj, A., Mehlhorn, K., Pitts, A., Wattenhofer, R. (eds.) ICALP 2012, Part II. LNCS, vol. 7392, pp. 165–176. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  3. Broadbent, C.H., Carayol, A., Ong, C.-H.L., Serre, O.: Recursion schemes and logical reflection. In: Proceedings ofo LICS 2010, pp. 120–129. IEEE Computer Society Press (2010)

    Google Scholar 

  4. Carayol, A., Serre, O.: Collapsible pushdown automata and labeled recursion schemes: Equivalence, safety and effective selection. In: Proceedings of LICS 2012. IEEE Computer Society Press (2012)

    Google Scholar 

  5. Hague, M., Murawski, A., Ong, C.-H.L., Serre, O.: Collapsible pushdown automata and recursion schemes. In: Proceedings of 23rd Annual IEEE Symposium on Logic in Computer Science, pp. 452–461. IEEE Computer Society (2008)

    Google Scholar 

  6. Hague, M., Ong, C.-H.L.: Symbolic backwards-reachability analysis for higher-order pushdown systems. Logical Methods in Computer Science 4(4) (2008)

    Google Scholar 

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

  8. Kobayashi, N.: Model-checking higher-order functions. In: Proceedings of PPDP 2009, pp. 25–36. ACM Press (2009)

    Google Scholar 

  9. Kobayashi, N.: Types and higher-order recursion schemes for verification of higher-order programs. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL), pp. 416–428 (2009)

    Google Scholar 

  10. Kobayashi, N.: A Practical Linear Time Algorithm for Trivial Automata Model Checking of Higher-Order Recursion Schemes. In: Hofmann, M. (ed.) FOSSACS 2011. LNCS, vol. 6604, pp. 260–274. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

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

  12. Kobayashi, N., Sato, R., Unno, H.: Predicate abstraction and CEGAR for higher-order model checking. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 222–233 (2011)

    Google Scholar 

  13. Kobayashi, N., Tabuchi, N., Unno, H.: Higher-order multi-parameter tree transducers and recursion schemes for program verification. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL), pp. 495–508 (2010)

    Google Scholar 

  14. Lester, M.M., Neatherway, R.P., Ong, C.-H.L., Ramsay, S.J.: Model checking liveness properties of higher-order functional programs. In: Proceedings of ML Workshop 2011 (2011)

    Google Scholar 

  15. Neatherway, R.P., Ramsay, S.J., Ong, C.-H.L.: A traversal-based algorithm for higher-order model checking. In: ACM SIGPLAN International Conference on Functional Programming (ICFP 2012), pp. 353–364 (2012)

    Google Scholar 

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

    Google Scholar 

  17. Ong, C.-H.L.: Models of higher-order computation: Recursive schemes and collapsible pushdown automata. In: Logics and Languages for Reliability and Security, pp. 263–299. IOS Press (2010)

    Google Scholar 

  18. Ong, C.-H.L., Ramsay, S.: Verifying higher-order programs with pattern-matching algebraic data types. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL), pp. 587–598 (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kobayashi, N. (2012). Program Certification by Higher-Order Model Checking. In: Hawblitzel, C., Miller, D. (eds) Certified Programs and Proofs. CPP 2012. Lecture Notes in Computer Science, vol 7679. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35308-6_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35308-6_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35307-9

  • Online ISBN: 978-3-642-35308-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics