|
ABSTRACT
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 transformed to an HORS that generates a tree representing all the possible 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 complete. 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 fragment of the properties expressed by modal mu-calculus, but the algorithm 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 specification formulas are bounded by a constant.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
K. Aehlig. A finite semantics of simply-typed lambda terms for infinite runs of automata. Logical Methods in Computer Science, 3(3), 2007.
|
| |
2
|
K. Aehlig, J. G. de Miranda, and C.-H. L. Ong. The monadic second order theory of trees given by arbitrary level--tworecursion schemes is decidable. In TLCA 2005, volume 3461 of LNCS, pages 39--54.Springer-Verlag, 2005.
|
 |
3
|
Thomas Ball , Rupak Majumdar , Todd Millstein , Sriram K. Rajamani, Automatic predicate abstraction of C programs, Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, p.203-213, June 2001, Snowbird, Utah, United States
|
 |
4
|
|
| |
5
|
|
 |
6
|
|
 |
7
|
Byron Cook , Alexey Gotsman , Andreas Podelski , Andrey Rybalchenko , Moshe Y. Vardi, Proving that programs eventually do something good, Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 17-19, 2007, Nice, France
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
M. Hague and C.-H. L. Ong. Symbolic backwards-reachability analysis for higher-order pushdown In FoSSaCS 2007, volume 4423 of LNCS, pages 213--227. Springer-Verlag, 2007.
|
 |
15
|
|
 |
16
|
Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , Grégoire Sutre, Lazy abstraction, Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.58-70, January 16-18, 2002, Portland, Oregon
|
 |
17
|
|
| |
18
|
|
 |
19
|
|
 |
20
|
|
| |
21
|
D. Kikuchi and N. Kobayashi. Type-based verification of correspondence assertions for communication protocols. In Proceedings of APLAS 2007, volume 4807 of LNCS, pages 191--205. Springer-Verlag, 2007.
|
| |
22
|
T. Knapik, D. Niwinski, and P. Urzyczyn. Deciding monadic theories of hyperalgebraic trees. Deciding monadic theories of hyperalgebraic trees. Springer-Verlag, 2001.
|
| |
23
|
|
| |
24
|
T. Knapik, D. Niwinski, P. Urzyczyn, and I. Walukiewicz. Unsafe grammars and panic automata. Unsafe grammars and panic automata. Springer-Verlag, 2005.
|
| |
25
|
N. Kobayashi. Types and higher-order recursion schemes for verification of higher-order programs. An extended version, available from http://www.kb.ecei.tohoku.ac.jp/ koba/papers/hors.pdf, 2008.
|
| |
26
|
P. Lam, V. Kuncak, and M. C. Rinard. Generalized typestate checking for data structure consistency. In VMCAI 2005, volume 3385 of LNCS, pages 430--447.Springer-Verlag, 2005.
|
| |
27
|
M. Naik. A type system equivalent to a model checker. Master Thesis, Purdue University.
|
| |
28
|
M. Naik and J. Palsberg. A type system equivalent to a model checker. In ESOP 2005, volume 3444 of LNCS, pages 374--388. Springer-Verlag, 2005.
|
| |
29
|
|
| |
30
|
|
 |
31
|
|
| |
32
|
|
| |
33
|
Wolfgang Thomas, Languages, automata, and logic, Handbook of formal languages, vol. 3: beyond words, Springer-Verlag New York, Inc., New York, NY, 1997
|
| |
34
|
H. Unno and N. Kobayashi. On-demand refinement of dependent types. In Proceedings of FLOPS 2008, volume 4989 of LNCS, pages 81--96. Springer-Verlag, 2008.
|
|