Types and higher-order recursion schemes for verification of higher-order programs
Author(s) -
Naoki Kobayashi
Publication year - 2009
Publication title -
acm sigplan notices
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.31
H-Index - 99
eISSN - 1558-1160
pISSN - 0362-1340
DOI - 10.1145/1594834.1480933
Subject(s) - computer science , recursion (computer science) , correctness , fragment (logic) , decidability , model checking , algorithm , formal verification , linear temporal logic , programming language , theoretical computer science
We propose a new verification method for temporal properties of higher-order functional programs, which takes advantage of Ong's recent result on the decidability of the model-checking problem for higher-order recursion schemes (HORS's). A program is trans- formed to an HORS that generates a tree representing all the possi- ble event sequences of the program, and then the HORS is model- checked. Unlike most of the previous methods for verification of higher-order programs, our verification method is sound and com- plete. Moreover, this new verification framework allows a smooth integration of abstract model checking techniques into verification of higher-order programs. We also present a type-based verification algorithm for HORS's. The algorithm can deal with only a frag- ment of the properties expressed by modal μ-calculus, but the al- gorithm and its correctness proof are (arguably) much simpler than those of Ong's game-semantics-based algorithm. Moreover, while the HORS model checking problem is n-EXPTIME in general, our algorithm is linear in the size of HORS, under the assumption that the sizes of types and specifications are bounded by a constant.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom