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
来源
INTEGRATED FORMAL METHODS, IFM 2024 | 2025年 / 15234卷
关键词
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 条
  • [1] Formal Verification of a Chained Multiply-Add Design: Combining Theorem Proving and Equivalence Checking
    Russinoff, David
    Bruguera, Javier
    Chau, Cuong
    Manjrekar, Mayank
    Pfister, Nicholas
    Valsaraju, Harsha
    2022 IEEE 29TH SYMPOSIUM ON COMPUTER ARITHMETIC (ARITH 2022), 2022, : 120 - 126
  • [2] Client -Specific Equivalence Checking
    Mora, Federico
    Li, Yi
    Rubin, Julia
    Chechik, Marsha
    PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, : 441 - 451
  • [3] Proving Termination by Policy Iteration
    Masse, Damien
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2012, 287 : 77 - 88
  • [4] Proving non-termination
    Gupta, Ashutosh K.
    Henzinger, Thomas A.
    Majumdar, Rupak
    Rybalchenko, Andrey
    Xu, Ru-Gang
    ACM SIGPLAN NOTICES, 2008, 43 (01) : 147 - 158
  • [5] Proving termination of GHC programs
    Rao, MRKK
    Kapur, D
    Shyamasundar, RK
    NEW GENERATION COMPUTING, 1997, 15 (03) : 293 - 338
  • [6] Proving termination of GHC programs
    Krishna Rao M.R.K.
    Kapur D.
    Shyamasundar R.K.
    New Generation Computing, 1997, 15 (3) : 293 - 338
  • [7] A method for proving observational equivalence
    Cortier, Veronique
    Delaune, Stephanie
    PROCEEDINGS OF THE 22ND IEEE COMPUTER SECURITY FOUNDATIONS SYMPOSIUM, 2009, : 266 - +
  • [8] Semantic Program Alignment for Equivalence Checking
    Churchill, Berkeley
    Padon, Oded
    Sharma, Rahul
    Aiken, Alex
    PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 1027 - 1040
  • [9] Partial Equivalence Checking of Quantum Circuits
    Chen, Tian-Fu
    Jiang, Jie-Hong R.
    Hsieh, Min-Hsiu
    2022 IEEE INTERNATIONAL CONFERENCE ON QUANTUM COMPUTING AND ENGINEERING (QCE 2022), 2022, : 594 - 604
  • [10] Equivalence Checking of Sequential Quantum Circuits
    Wang, Qisheng
    Li, Riling
    Ying, Mingsheng
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2022, 41 (09) : 3143 - 3156