A type-directed abstraction refinement approach to higher-order model checking

9Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

Abstract

The trivial-automaton model checking problem for higher-order recursion schemes has become a widely studied object in connection with the automatic verification of higher-order programs. The problem is formidably hard1: despite considerable progress in recent years, no decision procedures have been demonstrated to scale robustly beyond recursion schemes that comprise more than a few hundred rewrite rules. We present a new, fixed-parameter polynomial time algorithm, based on a novel, type directed form of abstraction refinement in which behaviours of a scheme are distinguished by the abstraction according to the intersection types that they inhabit (the properties that they satisfy). Unlike other intersection type approaches, our algorithm reasons both about acceptance by the property automaton and acceptance by its dual, simultaneously, in order to minimize the amount of work done by converging on the solution to a problem instance from both sides.We have constructed PREFACE, a prototype implementation of the algorithm, and assembled an extensive body of evidence to demonstrate empirically that the algorithm readily scales to recursion schemes of several thousand rules, well beyond the capabilities of current stateof-the-art higher-order model checkers.

Cite

CITATION STYLE

APA

Ramsay, S. J., Neatherway, R. P., & Ong, C. H. L. (2014). A type-directed abstraction refinement approach to higher-order model checking. In ACM SIGPLAN Notices (Vol. 49, pp. 61–72). https://doi.org/10.1145/2578855.2535873

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