Automatic Termination Verification for Higher-Order Functional Programs

被引:0
|
作者
Kuwahara, Takuya [1 ]
Terauchi, Tachio [2 ]
Unno, Hiroshi [3 ]
Kobayashi, Naoki [1 ]
机构
[1] Univ Tokyo, Tokyo 1138654, Japan
[2] Nagoya Univ, Nagoya, Aichi 4648601, Japan
[3] Univ Tsukuba, Tsukuba, Ibaraki 305, Japan
来源
PROGRAMMING LANGUAGES AND SYSTEMS | 2014年 / 8410卷
关键词
SIZE-CHANGE PRINCIPLE; DEPENDENT TYPES; MODEL-CHECKING; ABSTRACTION;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:392 / 411
页数:20
相关论文
共 50 条
  • [41] Verification of tree-processing programs via higher-order mode checking
    Unno, Hiroshi
    Tabuchi, Naoshi
    Kobayashi, Naoki
    MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2015, 25 (04) : 841 - 866
  • [42] Modular Verification of Higher-Order Methods with Mandatory Calls Specified by Model Programs
    Shaner, Steve M.
    Leavens, Gary T.
    Naumann, David A.
    OOPSLA: 22ND INTERNATIONAL CONFERENCE ON OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES, AND APPLICATIONS, PROCEEDINGS, 2007, : 351 - 367
  • [43] Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order Programs
    Sekiyama, Taro
    Unno, Hiroshi
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2025, 9 (POPI):
  • [44] Modular verification of higher-order methods with mandatory calls specified by model programs
    Shaner, Steve M.
    Leavens, Gary T.
    Naumann, David A.
    ACM SIGPLAN NOTICES, 2007, 42 (10) : 351 - 367
  • [45] Verification of Tree-Processing Programs via Higher-Order Model Checking
    Unno, Hiroshi
    Tabuchi, Naoshi
    Kobayashi, Naoki
    PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 6461 : 312 - 327
  • [46] SPECIFICATION AND VERIFICATION OF HIGHER-ORDER PROCESSES
    HANSEN, MR
    ZHOU, CC
    LECTURE NOTES IN COMPUTER SCIENCE, 1990, 452 : 322 - 328
  • [47] Termination and confluence of higher-order rewrite systems
    Blanqui, F
    REWRITING TECHNIQUES AND APPLICATIONS, PROCEEDINGS, 2000, 1833 : 47 - 61
  • [48] Universal algebra for termination of higher-order rewriting
    Hamana, M
    TERM REWRITING AND APPLICATIONS, PROCEEDINGS, 2005, 3467 : 135 - 149
  • [49] Higher-order termination: From Kruskal to computability
    Blanqui, Frederic
    Jouannaud, Jean-Pierre
    Rubio, Albert
    LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING, PROCEEDINGS, 2006, 4246 : 1 - 14
  • [50] A Higher-Order Abstract Syntax Approach to Verified Transformations on Functional Programs
    Wang, Yuting
    Nadathur, Gopalan
    PROGRAMMING LANGUAGES AND SYSTEMS (ESOP 2016), 2016, 9632 : 752 - 779