TY - GEN
T1 - C-SHORe: A Collapsible Approach to Verifying Higher-Order Programs
AU - Broadbent, Chris
AU - Carayol, Arnaud
AU - Hague, Matthew
AU - Serre, Olivier
PY - 2013/9/25
Y1 - 2013/9/25
N2 - Higher-order recursion schemes (HORS) have recently received much attention as auseful abstraction of higher-order functional programs with a number of new verificationtechniques employing HORS model-checking as their centrepiece. This papercontributes to the ongoing quest for a truly scalable model-checker for HORS byoffering a different, automata theoretic perspective. We introduce the firstpractical model-checking algorithm that acts on a generalisation of pushdownautomata equi-expressive with HORS called collapsible pushdown systems(CPDS). At its core is a substantial modification of a recently studiedsaturation algorithm for CPDS. In particular it is able to use informationgathered from an approximate forward reachability analysis to guide its backwardsearch. Moreover, we introduce an algorithm that prunes the CPDS prior tomodel-checking and a method for extracting counter-examples in negativeinstances. We compare our tool with the state-of-the-art verification tools forHORS and obtain encouraging results.In contrast to some of the main competition tackling the same problem, our algorithm isfixed-parameter tractable, and we also offer significantly improved performanceover the only previously published tool of which we are aware that also enjoysthis property. The tool and additional material are available fromhttp://cshore.cs.rhul.ac.uk.
AB - Higher-order recursion schemes (HORS) have recently received much attention as auseful abstraction of higher-order functional programs with a number of new verificationtechniques employing HORS model-checking as their centrepiece. This papercontributes to the ongoing quest for a truly scalable model-checker for HORS byoffering a different, automata theoretic perspective. We introduce the firstpractical model-checking algorithm that acts on a generalisation of pushdownautomata equi-expressive with HORS called collapsible pushdown systems(CPDS). At its core is a substantial modification of a recently studiedsaturation algorithm for CPDS. In particular it is able to use informationgathered from an approximate forward reachability analysis to guide its backwardsearch. Moreover, we introduce an algorithm that prunes the CPDS prior tomodel-checking and a method for extracting counter-examples in negativeinstances. We compare our tool with the state-of-the-art verification tools forHORS and obtain encouraging results.In contrast to some of the main competition tackling the same problem, our algorithm isfixed-parameter tractable, and we also offer significantly improved performanceover the only previously published tool of which we are aware that also enjoysthis property. The tool and additional material are available fromhttp://cshore.cs.rhul.ac.uk.
M3 - Conference contribution
SP - 13
EP - 24
BT - ICFP: International Conference on Functional Programming
T2 - International Conference on Functional Programming
Y2 - 25 September 2013 through 27 September 2013
ER -