Complexity of Model Checking Recursion Schemes for Fragments of the Modal Mu-Calculus
ICALP '09 Proceedings of the 36th Internatilonal Collogquium on Automata, Languages and Programming: Part II
Model-checking higher-order functions
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Types and Recursion Schemes for Higher-Order Program Verification
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Higher-order multi-parameter tree transducers and recursion schemes for program verification
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
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
Finite combinatory logic with intersection types
TLCA'11 Proceedings of the 10th international conference on Typed lambda calculi and applications
Krivine machines and higher-order schemes
ICALP'11 Proceedings of the 38th international conference on Automata, languages and programming - Volume Part II
HMC: verifying functional programs using abstract interpreters
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Untyped recursion schemes and infinite intersection types
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Automatically verifying typing constraints for a data processing language
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Two-level game semantics, intersection types, and recursion schemes
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
A traversal-based algorithm for higher-order model checking
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Simple models for recursive schemes
MFCS'12 Proceedings of the 37th international conference on Mathematical Foundations of Computer Science
Linear dependent types in a call-by-value scenario
Proceedings of the 14th symposium on Principles and practice of declarative programming
An intersection type system for deterministic pushdown automata
TCS'12 Proceedings of the 7th IFIP TC 1/WG 202 international conference on Theoretical Computer Science
Program certification by higher-order model checking
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Automating relatively complete verification of higher-order functional programs
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model-Checking higher-order programs with recursive types
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Model Checking Higher-Order Programs
Journal of the ACM (JACM)
A type-directed abstraction refinement approach to higher-order model checking
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Fundamenta Informaticae - Intersection Types and Related Systems ITRS
Hi-index | 0.00 |
The model checking of higher-order recursion schemes has important applications in the verification of higher-order programs. Ong has previously shown that the modal mu-calculus model checking of trees generated by order-n recursion scheme is n-EXPTIME complete, but his algorithm and its correctness proof were rather complex. We give an alternative, type-based verification method: Given a modal mu-calculus formula, we can construct a type system in which a recursion scheme is typable if, and only if, the (possibly infinite, ranked) tree generated by the scheme satisfies the formula. The model checking problem is thus reduced to a type checking problem. Our type-based approach yields a simple verification algorithm, and its correctness proof (constructed without recourse to game semantics) is comparatively easy to understand. Furthermore, the algorithm is polynomial-time in the size of the recursion scheme, assuming that the formula and the largest order and arity of non-terminals of the recursion scheme are fixed.