Conference item
Verifying Higher-Order Functional Programs with Pattern-Matching Algebraic Data Types
- Abstract:
- Type-based model checking algorithms for higher-order recursion schemes have recently emerged as a promising approach to the verification of functional programs.We introduce pattern-matching recursion schemes (PMRS) as an accurate model of computation for functional programs that manipulate algebraic data-types. PMRS are a natural extension of higher-order recursion schemes that incorporate pattern-matching in the defining rules. This paper is concerned with the following (undecidable) verification problem: given a correctness property φ, a functional program P (qua PMRS) and a regular input set I, does every term that is reachable from I under rewriting by P satisfy φ? To solve the PMRS verification problem, we present a sound semi-algorithm which is based on model-checking and counterexample guided abstraction finement. Given a no-instance of the verification problem, the method is guaranteed to terminate. From an order-n PMRS and an input set generated by a regular tree grammar, our method constructs an order-n weak PMRS which over-approximates only the first-order pattern-matching behaviour, whilst remaining completely faithful to the higher-order control flow. Using a variation of Kobayashi's type-based approach, we show that the (trivial automaton) model-checking problem for weak PMRS is decidable. When a violation of the property is detected in the abstraction which does not correspond to a violation in the model, the abstraction is automatically refined by 'unfolding' the pattern-matching rules in the program to give successively more and more accurate weak PMRS models. Copyright © 2011 ACM.
- Publication status:
- Published
Actions
Access Document
- Publisher copy:
- 10.1145/1926385.1926453
Authors
- Host title:
- POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES
- Volume:
- 46
- Issue:
- 1
- Pages:
- 587-598
- Publication date:
- 2011-01-01
- DOI:
- ISSN:
-
1523-2867
- ISBN:
- 9781450304900
- Pubs id:
-
pubs:328278
- UUID:
-
uuid:eea8c42f-a377-4de7-881b-d78f8f91fb24
- Local pid:
-
pubs:328278
- Source identifiers:
-
328278
- Deposit date:
-
2013-11-17
- ARK identifier:
Terms of use
- Copyright date:
- 2011
If you are the owner of this record, you can report an update to it here: Report update to this record