Control-flow analysis of higher-order languages of taming lambda
Control-flow analysis of higher-order languages of taming lambda
Even Simple Programs Are Hard To Analyze
Journal of the ACM (JACM)
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reachability Analysis of Pushdown Automata: Application to Model-Checking
CONCUR '97 Proceedings of the 8th International Conference on Concurrency Theory
Efficient Algorithms for Model Checking Pushdown Systems
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Weighted pushdown systems and their application to interprocedural dataflow analysis
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
On Model-Checking Trees Generated by Higher-Order Recursion Schemes
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
Collapsible Pushdown Automata and Recursion Schemes
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
Winning Regions of Higher-Order Pushdown Games
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
Symbolic Context-Bounded Analysis of Multithreaded Java Programs
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Homer: A Higher-Order Observational Equivalence Model checkER
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Model-checking higher-order functions
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Higher order pushdown automata, the Caucal hierarchy of graphs and parity games
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Recursion Schemes and Logical Reflection
LICS '10 Proceedings of the 2010 25th Annual IEEE Symposium on Logic in Computer Science
Verifying higher-order functional programs with pattern-matching algebraic data types
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analysing mu-calculus properties of pushdown systems
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
Verification of tree-processing programs via higher-order model checking
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
Predicate abstraction and CEGAR for higher-order model checking
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
HMC: verifying functional programs using abstract interpreters
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Pushdown flow analysis of first-class control
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Higher-Order Model Checking: From Theory to Practice
LICS '11 Proceedings of the 2011 IEEE 26th Annual Symposium on Logic in Computer Science
Unsafe grammars and panic automata
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Symbolic reachability analysis of higher-order context-free processes
FSTTCS'04 Proceedings of the 24th international conference on Foundations of Software Technology and Theoretical Computer Science
ATVA'06 Proceedings of the 4th international conference on Automated Technology for Verification and Analysis
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
A saturation method for collapsible pushdown systems
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
HECTOR: an equivalence checker for a higher-order fragment of ML
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
A traversal-based algorithm for higher-order model checking
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Recursive schemes, krivine machines, and collapsible pushdown automata
RP'12 Proceedings of the 6th international conference on Reachability Problems
Cfa2: pushdown flow analysis for higher-order languages
Cfa2: pushdown flow analysis for higher-order languages
A type-directed abstraction refinement approach to higher-order model checking
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
Higher-order recursion schemes (HORS) have recently received much attention as a useful abstraction of higher-order functional programs with a number of new verification techniques employing HORS model-checking as their centrepiece. This paper contributes to the ongoing quest for a truly scalable model-checker for HORS by offering a different, automata theoretic perspective. We introduce the first practical model-checking algorithm that acts on a generalisation of pushdown automata equi-expressive with HORS called collapsible pushdown systems (CPDS). At its core is a substantial modification of a recently studied saturation algorithm for CPDS. In particular it is able to use information gathered from an approximate forward reachability analysis to guide its backward search. Moreover, we introduce an algorithm that prunes the CPDS prior to model-checking and a method for extracting counter-examples in negative instances. We compare our tool with the state-of-the-art verification tools for HORS and obtain encouraging results. In contrast to some of the main competition tackling the same problem, our algorithm is fixed-parameter tractable, and we also offer significantly improved performance over the only previously published tool of which we are aware that also enjoys this property. The tool and additional material are available from http://cshore.cs.rhul.ac.uk.