Unrestricted Termination and Non-termination Arguments for Bit-Vector Programs

被引:15
|
作者
David, Cristina [1 ]
Kroening, Daniel [1 ]
Lewis, Matt [1 ]
机构
[1] Univ Oxford, Oxford OX1 2JD, England
来源
基金
英国工程与自然科学研究理事会; 欧洲研究理事会;
关键词
Termination; Non-Termination; Lexicographic Ranking Functions; Bit-vector Ranking Functions; Floating-Point Ranking Functions; LINEAR RANKING; PROOFS;
D O I
10.1007/978-3-662-46669-8_8
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Proving program termination is typically done by finding a well-founded ranking function for the program states. Existing termination provers typically find ranking functions using either linear algebra or templates. As such they are often restricted to finding linear ranking functions over mathematical integers. This class of functions is insufficient for proving termination of many terminating programs, and furthermore a termination argument for a program operating on mathematical integers does not always lead to a termination argument for the same program operating on fixed-width machine integers. We propose a termination analysis able to generate nonlinear, lexicographic ranking functions and nonlinear recurrence sets that are correct for fixed-width machine arithmetic and floating-point arithmetic. Our technique is based on a reduction from program termination to second-order satisfaction. We provide formulations for termination and non-termination in a fragment of second-order logic with restricted quantification which is decidable over finite domains [1]. The resulting technique is a sound and complete analysis for the termination of finite-state programs with fixed-width integers and IEEE floating-point arithmetic.
引用
收藏
页码:183 / 204
页数:22
相关论文
共 50 条
  • [31] Experiments with Non-Termination Analysis for Java']Java Bytecode
    Payet, Etienne
    Spoto, Fausto
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (05) : 83 - 96
  • [32] A calculus for modular loop acceleration and non-termination proofs
    Frohn, Florian
    Fuhs, Carsten
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2022, 24 (05) : 691 - 715
  • [33] A calculus for modular loop acceleration and non-termination proofs
    Florian Frohn
    Carsten Fuhs
    International Journal on Software Tools for Technology Transfer, 2022, 24 : 691 - 715
  • [34] Proving Non-termination Using Max-SMT
    Larraz, Daniel
    Nimkar, Kaustubh
    Oliveras, Albert
    Rodriguez-Carbonell, Enric
    Rubio, Albert
    COMPUTER AIDED VERIFICATION, CAV 2014, 2014, 8559 : 779 - 796
  • [35] Non-determinism, Non-termination and the Strong Normalization of System T
    Aschieri, Federico
    Zorzi, Margherita
    TYPED LAMBDA CALCULI AND APPLICATIONS, TLCA 2013, 2013, 7941 : 31 - 47
  • [36] On the non-termination of MDG-based abstract state enumeration
    Mohamed, OA
    Song, XY
    Cerny, E
    THEORETICAL COMPUTER SCIENCE, 2003, 300 (1-3) : 161 - 179
  • [37] A SIMPLE NON-TERMINATION TEST FOR THE KNUTH-BENDIX METHOD
    PLAISTED, DA
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 230 : 79 - 88
  • [38] Non-termination of sickness behavior as precipitating factor for mental disorders
    Viljoen, M
    Panzer, A
    MEDICAL HYPOTHESES, 2005, 65 (02) : 316 - 329
  • [39] Predicting acute termination and non-termination during ablation of human atrial fibrillation using quantitative indices
    Kappel, Cole
    Reiss, Michael
    Rodrigo, Miguel
    Ganesan, Prasanth
    Narayan, Sanjiv. M. M.
    Rappel, Wouter-Jan
    FRONTIERS IN PHYSIOLOGY, 2022, 13
  • [40] 2LS: Memory Safety and Non-termination (Competition Contribution)
    Malik, Viktor
    Marticek, Stefan
    Schrammel, Peter
    Srivas, Mandayam
    Vojnar, Tomas
    Wahlang, Johanan
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2018, PT II, 2018, 10806 : 417 - 421