Automatic Termination Verification for Higher-Order Functional Programs
Automatic Termination Verification for Higher-Order Functional Programs
复制标题
DOI:
10.1007/978-3-642-54833-8_21
复制
发表时间:
2014-04
期刊:
影响因子:
--
通讯作者:
Takuya Kuwahara;Tachio Terauchi;Hiroshi Unno;N. Kobayashi
中科院分区:
文献类型:
--
作者:
Takuya Kuwahara;Tachio Terauchi;Hiroshi Unno;N. Kobayashi
We present an automated approach to verifying termination of higher-order functional programs. Our approach adopts the idea from the recent work on termination verification via transition invariants (a.k.a. binary reachability analysis), and is fully automated. Our approach is able to soundly handle the subtle aspects of higher-order programs, including partial applications, indirect calls, and ranking functions over function closure values. In contrast to the previous approaches to automated termination verification for functional programs, our approach is sound and complete, relative to the soundness and completeness of the underlying reachability analysis and ranking function inference. We have implemented a prototype of our approach for a subset of the OCaml language, and we have confirmed that it is able to automatically verify termination of some non-trivial higher-order programs.