Creative Commons Attribution 3.0 Unported license
Model checking of higher-order recursion schemes (HORS) has recently been studied extensively and applied to higher-order program verification. Despite recent efforts, obtaining a scalable model checker for HORS remains a big challenge. We propose a new model checking algorithm for HORS, which combines two previous, independent approaches to higher-order model checking. Like previous type-based algorithms for HORS, it directly analyzes HORS and outputs intersection types as a certificate, but like Broadbent et al.'s saturation algorithm for collapsible pushdown systems (CPDS), it propagates information backward, in the sense that it starts with target configurations and iteratively computes their pre-images. We have implemented the new algorithm and confirmed that the prototype often outperforms TRECS and CSHORe, the state-of-the-art model checkers for HORS.
@InProceedings{broadbent_et_al:LIPIcs.CSL.2013.129,
author = {Broadbent, Christopher and Kobayashi, Naoki},
title = {{Saturation-Based Model Checking of Higher-Order Recursion Schemes}},
booktitle = {Computer Science Logic 2013 (CSL 2013)},
pages = {129--148},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-939897-60-6},
ISSN = {1868-8969},
year = {2013},
volume = {23},
editor = {Ronchi Della Rocca, Simona},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CSL.2013.129},
URN = {urn:nbn:de:0030-drops-41941},
doi = {10.4230/LIPIcs.CSL.2013.129},
annote = {Keywords: Model checking, higher-order recursion schemes, intersection types}
}