Model-checking higher-order functions

67Citations
Citations of this article
24Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We propose a novel type-based model checking algorithm for higher-order recursion schemes. As shown by Kobayashi, verification problems of higher-order functional programs can easily be translated into model checking problems of recursion schemes. Thus, the model checking algorithm serves as a basis for verification of higher-order functional programs. To our knowledge, this is the first practical algorithm for model checking recursion schemes: all the previous algorithms always suffer from the n-EXPTIME bottleneck, not only in the worst case, and there was no implementation of the algorithms. We have implemented a model checker for recursion schemes based on the proposed algorithm, and applied it to verification of functional programs, including reachability, flow analysis and resource usage verification problems. According to our experiments, the model checker is surprisingly fast: it could automatically verify a number of small but tricky higher-order functional programs in less than a second. Copyright © 2009 ACM.

Author supplied keywords

Cite

CITATION STYLE

APA

Kobayashi, N. (2009). Model-checking higher-order functions. In PPDP’09 - Proceedings of the 11th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (pp. 25–36). https://doi.org/10.1145/1599410.1599415

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free