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 条
  • [31] A method for proving observational equivalence
    Cortier, Veronique
    Delaune, Stephanie
    PROCEEDINGS OF THE 22ND IEEE COMPUTER SECURITY FOUNDATIONS SYMPOSIUM, 2009, : 266 - +
  • [32] Proving equivalence in clinical trials
    Boers, M.
    ANNALS OF THE RHEUMATIC DISEASES, 2006, 65 : 34 - 34
  • [33] Termination checking with types
    Abel, A
    RAIRO-THEORETICAL INFORMATICS AND APPLICATIONS, 2004, 38 (04): : 277 - 319
  • [34] Sequential equivalence checking
    Mathur, A
    Fujita, M
    Balakrishnan, M
    Mitra, R
    19TH INTERNATIONAL CONFERENCE ON VLSI DESIGN, PROCEEDINGS, 2005, : 18 - 19
  • [35] Combinations of model checking and theorem proving
    Uribe, TE
    FRONTIERS OF COMBINING SYSTEMS, 2000, 1794 : 151 - 170
  • [36] Proving sequential consistency by model checking
    Braun, T
    Condon, A
    Hu, AJ
    Juse, KS
    Laza, M
    Leslie, M
    Sharma, R
    SIXTH IEEE INTERNATIONAL HIGH-LEVEL DESIGN VALIDATION AND TEST WORKSHOP, PROCEEDINGS, 2001, : 103 - 108
  • [37] ON PROVING UNIFORM TERMINATION AND RESTRICTED TERMINATION OF REWRITING-SYSTEMS
    GUTTAG, JV
    KAPUR, D
    MUSSER, DR
    SIAM JOURNAL ON COMPUTING, 1983, 12 (01) : 189 - 214
  • [38] METHODOLOGY FOR PROVING THE TERMINATION OF LOGIC PROGRAMS
    WANG, B
    SHYAMASUNDAR, RK
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 480 : 214 - 227
  • [39] Proving Termination of Programs Automatically with AProVE
    Giesl, Juergen
    Brockschmidt, Marc
    Emmes, Fabian
    Frohn, Florian
    Fuhs, Carsten
    Otto, Carsten
    Pluecker, Martin
    Schneider-Kamp, Peter
    Stroeder, Thomas
    Swiderski, Stephanie
    Thiemann, Rene
    AUTOMATED REASONING, IJCAR 2014, 2014, 8562 : 184 - 191
  • [40] Achieving high coverage in hardware equivalence checking via concolic verification
    Pritam Roy
    Sagar Chaki
    Formal Methods in System Design, 2022, 60 : 329 - 349