Verifying Higher-Order Functions with Tree Automata

被引:2
|
作者
Genet, Thomas [1 ]
Haudebourg, Timothee [1 ]
Jensen, Thomas [1 ]
机构
[1] Univ Rennes, IRISA, INRIA, Rennes, France
关键词
VERIFICATION;
D O I
10.1007/978-3-319-89366-2_31
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper describes a fully automatic technique for verifying safety properties of higher-order functional programs. Tree automata are used to represent sets of reachable states and functional programs are modeled using term rewriting systems. From a tree automaton representing the initial state, a completion algorithm iteratively computes an automaton which over-approximates the output set of the program to verify. We identify a subclass of higher-order functional programs for which the completion is guaranteed to terminate. Precision and termination are obtained conjointly by a careful choice of equations between terms. The verification objective can be used to generate sets of equations automatically. Our experiments show that tree automata are sufficiently expressive to prove intricate safety properties and sufficiently simple for the verification result to be certified in Coq.
引用
收藏
页码:565 / 582
页数:18
相关论文
共 50 条
  • [1] Verifying higher-order concurrency with data automata
    Dixon, Alex
    Lazic, Ranko
    Murawski, Andrzej S.
    Walukiewicz, Igor
    [J]. 2021 36TH ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS), 2021,
  • [2] Higher-order matching and tree automata
    Comon, H
    Jurski, Y
    [J]. COMPUTER SCIENCE LOGIC, 1998, 1414 : 157 - 176
  • [3] Higher-order parity automata
    Mellies, Paul-Andre
    [J]. 2017 32ND ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS), 2017,
  • [4] Specifying and Verifying Higher-order Rust Iterators
    Denis, Xavier
    Jourdan, Jacques-Henri
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT II, TACAS 2023, 2023, 13994 : 93 - 110
  • [5] Verifying Higher-order Programs with the Dijkstra Monad
    Swamy, Nikhil
    Weinberger, Joel
    Schlesinger, Cole
    Chen, Juan
    Livshits, Benjamin
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (06) : 387 - 398
  • [6] Leafy automata for higher-order concurrency
    Dixon, Alex
    Lazic, Ranko
    Murawski, Andrzej S.
    Walukiewicz, Igor
    [J]. FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES, FOSSACS 2021, 2021, 12650 : 184 - 204
  • [7] Higher-order matching, games and automata
    Stirling, Colin
    [J]. 22ND ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2007, : 326 - 335
  • [8] Contracts for higher-order functions
    Findler, RB
    Felleisen, M
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (09) : 48 - 59
  • [9] HIGHER-ORDER COHERENCE FUNCTIONS
    NATH, R
    [J]. LETTERE AL NUOVO CIMENTO, 1978, 23 (13): : 494 - 496
  • [10] Verifying topological indices for higher-order rank deficiencies
    Kearfott, RB
    Dian, JW
    [J]. JOURNAL OF COMPLEXITY, 2002, 18 (02) : 589 - 611