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 条
  • [21] Non-termination and secure information flow
    Smith, Geoffrey
    Alpizar, Rafael
    MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2011, 21 (06) : 1183 - 1205
  • [22] Proving Non-termination by Program Reversal
    Chatterjee, Krishnendu
    Goharshady, Ehsan Kafshdar
    Novotny, Petr
    Zikelic, Dorde
    PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 1033 - 1048
  • [23] Non-termination in Unifying Theories of Programming
    Guttmann, Walter
    RELATIONAL METHODS IN COMPUTER SCIENCE, 2005, 2006, 3929 : 108 - 120
  • [24] Non-termination in Term Rewriting and Logic Programming
    Étienne Payet
    Journal of Automated Reasoning, 2024, 68
  • [25] HipTNT plus : A Termination and Non-termination Analyzer by Second-Order Abduction
    Le, Ton Chanh
    Ta, Quang-Trung
    Chin, Wei-Ngan
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT II, 2017, 10206 : 370 - 374
  • [26] Non-termination Analysis of Polynomial Programs by Solving Semi-Algebraic Systems
    Zhao, Xiaoyan
    ADVANCES IN MULTIMEDIA, SOFTWARE ENGINEERING AND COMPUTING, VOL 1, 2011, 128 : 205 - 211
  • [27] Non-termination in Term Rewriting and Logic Programming
    Payet, Etienne
    JOURNAL OF AUTOMATED REASONING, 2024, 68 (01)
  • [28] A second-order formulation of non-termination
    Mesnard, Fred
    Payet, Etienne
    INFORMATION PROCESSING LETTERS, 2015, 115 (11) : 882 - 885
  • [29] Proving Non-Termination via Loop Acceleration
    Frohn, Florian
    Gies, Juergen
    2019 FORMAL METHODS IN COMPUTER AIDED DESIGN (FMCAD), 2019, : 221 - 230
  • [30] Non-Termination of Cycle Rewriting by Finite Automata
    Endrullis, Joerg
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2016, (225): : 2 - 4