Model-Checking Higher-Order Functions

被引:34
|
作者
Kobayashi, Naoki [1 ]
机构
[1] Tohoku Univ, Sendai, Miyagi 980, Japan
关键词
INFERENCE; TREES;
D O I
10.1145/1599410.1599415
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We propose a novel type-based model checking algorithm for higher-order recursion schemes. As shown by Kobayashi, verification problems of higher-order functional programs can easily be translated into model checking problems of recursion schemes. Thus, the model checking algorithm serves as a basis for verification of higher-order functional programs. To our knowledge, this is the first practical algorithm for model checking recursion schemes: all the previous algorithms always suffer from the n-EXPTIME bottleneck, not only in the worst case, and there was no implementation of the algorithms. We have implemented a model checker for recursion schemes based on the proposed algorithm, and applied it to verification of functional programs, including reachability, flow analysis and resource usage verification problems. According to our experiments, the model checker is surprisingly fast: it could automatically verify a number of small but tricky higher-order functional programs in less than a second.
引用
收藏
页码:25 / 36
页数:12
相关论文
共 50 条
  • [1] On Model-Checking Higher-Order Effectful Programs
    Dal Lago, Ugo
    Ghyselen, Alexis
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL):
  • [2] Model-Checking Higher-Order Programs with Recursive Types
    Kobayashi, Naoki
    Igarashi, Atsushi
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, 2013, 7792 : 431 - 450
  • [3] On model-checking trees generated by higher-order recursion schemes
    Ong, C. -H. L.
    [J]. 21ST ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2006, : 81 - 90
  • [4] Finitary Semantics of Linear Logic and Higher-Order Model-Checking
    Grellois, Charles
    Mellies, Paul-Andre
    [J]. MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE 2015, PT I, 2015, 9234 : 256 - 268
  • [5] The Complexity of Model-Checking Tail-Recursive Higher-Order Fixpoint Logic
    Bruse, Florian
    Lange, Martin
    Lozes, Etienne
    [J]. FUNDAMENTA INFORMATICAE, 2021, 178 (1-2) : 1 - 30
  • [6] Higher-Order Model Checking
    Ong, C. -H. Luke
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2012, (77): : 13 - 13
  • [7] Model Checking Higher-Order Programs
    Kobayashi, Naoki
    [J]. JOURNAL OF THE ACM, 2013, 60 (03)
  • [8] Higher-Order Model Checking: An Overview
    Ong, Luke
    [J]. 2015 30TH ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS), 2015, : 1 - 15
  • [9] A synergy between model-checking and type inference for the verification of value-passing higher-order processes
    Debbabi, M
    Benzakour, A
    Ktari, B
    [J]. ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, 1999, 1548 : 214 - 230
  • [10] Higher-Order Model Checking in Direct Style
    Terao, Taku
    Tsukada, Takeshi
    Kobayashi, Naoki
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2016, 2016, 10017 : 295 - 313