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 条
  • [31] Data-Driven Equivalence Checking
    Sharma, Rahul
    Schkufza, Eric
    Churchill, Berkeley
    Aiken, Alex
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 391 - 406
  • [32] Arithmetic Operand Ordering for Equivalence Checking
    Weng, Yanling
    Ge, Haitong
    Yan, Xiaolang
    Kun, Ren
    Tsinghua Science and Technology, 2007, 12 (SUPPL. 1): : 235 - 239
  • [33] Equivalence Checking of Dynamic Quantum Circuits
    Hong, Xin
    Feng, Yuan
    Li, Sanjiang
    Ying, Mingsheng
    2022 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER AIDED DESIGN, ICCAD, 2022,
  • [34] Equivalence Checking using Grobner Bases
    Sayed-Ahmed, Amr
    Grosse, Daniel
    Soeken, Mathias
    Drechsler, Rolf
    PROCEEDINGS OF THE 2016 16TH CONFERENCE ON FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD 2016), 2016, : 169 - 176
  • [35] Equivalence Checking For Synchronous Elastic Circuits
    Wijayasekara, Vidura
    Srinivasan, Sudarshan K.
    2013 ELEVENTH ACM/IEEE INTERNATIONAL CONFERENCE ON FORMAL METHODS AND MODELS FOR CODESIGN (MEMOCODE 2013), 2013, : 109 - 118
  • [36] Static Equivalence Checking for OpenFlow Networks
    Lee, Hyuk
    Choi, Jin-Young
    ELECTRONICS, 2021, 10 (18)
  • [37] Proving Optimizations Correct using Parameterized Program Equivalence
    Kundu, Sudipta
    Tatlock, Zachary
    Lerner, Sorin
    ACM SIGPLAN NOTICES, 2009, 44 (06) : 327 - 337
  • [38] Equivalence checking between behavioral and RTL descriptions with virtual controllers and datapaths
    Fujita, M
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2005, 10 (04) : 610 - 626
  • [39] Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences
    Verdoolaege, Sven
    Janssens, Gerda
    Bruynooghe, Maurice
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 34 (03):
  • [40] FuzzNT : Checking for Program Non-termination
    Karmarkar, Hrishikesh
    Medicherla, Raveendra Kumar
    Metta, Ravindra
    Yeduru, Prasanth
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 409 - 413