Proving Termination via Measure Transfer in Equivalence Checking

被引:0
|
作者
Milovanovic, Dragana [1 ]
Fuhs, Carsten [2 ]
Bucev, Mario [1 ]
Kuncak, Viktor [1 ]
机构
[1] Ecole Polytech Fed Lausanne, Stn 14, CH-1015 Lausanne, Switzerland
[2] Birkbeck Univ London, London, England
来源
关键词
Equivalence checking; Termination analysis; Termination measures; VERIFICATION;
D O I
10.1007/978-3-031-76554-4_5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program verification can benefit from proofs with varied induction schemas. A natural class of induction schemas, functional induction, consists of those derived from definitions of functions. For such inductive proofs to be sound, it is necessary to establish that the functions terminate, which is a challenging problem on its own. In this paper, we consider termination in the context of equivalence checking of a candidate program against a provably terminating reference program annotated with termination measures. Using equivalence checking, our approach automatically matches function calls in the reference and candidate programs and proves termination by transferring measures from a measure-annotated program to one without annotations. We evaluate this approach on existing and newly written termination benchmarks, as well as on exercises in programming courses. Our evaluation corpus comprises around 10K lines of code. We show empirically that the termination measures of reference programs often successfully prove the termination of equivalent candidate programs, ensuring the soundness of inductive reasoning in a fully automated manner.
引用
收藏
页码:75 / 84
页数:10
相关论文
共 50 条
  • [41] Achieving high coverage in hardware equivalence checking via concolic verification
    Roy, Pritam
    Chaki, Sagar
    FORMAL METHODS IN SYSTEM DESIGN, 2022, 60 (03) : 329 - 349
  • [42] Generalized Affine Equivalence Checking of Boolean Functions via Reachability Analysis
    Zeng, Xiao
    Liang, Huijun
    Yuan, Jun
    Song, Xiaoyu
    Yang, Guowu
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2023, 42 (09) : 2966 - 2979
  • [43] On proving Cε-termination of rewriting by size-change termination
    Fernández, ML
    INFORMATION PROCESSING LETTERS, 2005, 93 (04) : 155 - 162
  • [44] Robustness of fuzzy reasoning via logically equivalence measure
    Jin, Jianhua
    Li, Yongming
    Li, Chunquan
    INFORMATION SCIENCES, 2007, 177 (22) : 5103 - 5117
  • [45] Enhancement of the Malaysian Qualification Framework for equivalence-checking via APEL
    Amin, N. F. M. Mohd
    Kaprawi, N.
    TVET TOWARDS INDUSTRIAL REVOLUTION 4.0, 2020, : 54 - 58
  • [46] Proving termination assertions in dynamic logics
    Leivant, D
    19TH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2004, : 89 - 98
  • [47] Advances in Proving Program Termination and Liveness
    Cook, Byron
    AUTOMATED DEDUCTION - CADA-23, 2011, 6803 : 4 - 4
  • [48] Proving Termination of C Programs with Lists
    Hensel, Jera
    Giesl, Juergen
    AUTOMATED DEDUCTION, CADE 29, 2023, 14132 : 266 - 285
  • [49] EXTENSIONS OF ARITHMETIC FOR PROVING TERMINATION OF COMPUTATIONS
    KENT, CF
    HODGSON, BR
    JOURNAL OF SYMBOLIC LOGIC, 1989, 54 (03) : 779 - 794
  • [50] Proving termination of programs automatically with AProVE
    Giesl, Jürgen
    Brockschmidt, Marc
    Emmes, Fabian
    Frohn, Florian
    Fuhs, Carsten
    Otto, Carsten
    Plücker, Martin
    Schneider-Kamp, Peter
    Ströder, Thomas
    Swiderski, Stephanie
    Thiemann, René
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8562 LNAI : 184 - 191