A Term Rewriting Approach to the Automated Termination Analysis of Imperative Programs

被引:0
|
作者
Falke, Stephan [1 ]
Kapur, Deepak [1 ]
机构
[1] Univ New Mexico, CS Dept, Albuquerque, NM 87131 USA
来源
关键词
PROVING TERMINATION; LINEAR RANKING; TOOL;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
An approach based on term rewriting techniques for the automated termination analysis of imperative programs operating on integers is presented. An imperative program is transformed into rewrite rules with constraints from quantifier-free Presburger arithmetic. Any computation in the imperative program corresponds to a rewrite sequence, and termination of the rewrite system thus implies termination of the imperative program. Termination of the rewrite system is analyzed using a decision procedure for Presburger arithmetic that identifies possible chains of rewrite rules, and automatically generated polynomial interpretations are used to show finiteness of such chains. An implementation of the approach has been evaluated on a large collection of imperative programs, thus. demonstrating its effectiveness and practicality.
引用
收藏
页码:277 / 293
页数:17
相关论文
共 50 条
  • [1] Automated termination analysis for logic programs by term rewriting
    Schneider-Kamp, Peter
    Giesl, Juergen
    Serebrenik, Alexander
    Thiemann, Rene
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2007, 4407 : 177 - +
  • [2] Automated Termination Proofs for Logic Programs by Term Rewriting
    Schneider-Kamp, Peter
    Giesl, Juergen
    Serebrenik, Alexander
    Thiemann, Rene
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2009, 11 (01)
  • [3] AUTOMATED TERMINATION ANALYSIS OF JAVA']JAVA BYTECODE BY TERM REWRITING
    Otto, Carsten
    Brockschmidt, Marc
    von Essen, Christian
    Giesl, Juergen
    PROCEEDINGS OF THE 21ST INTERNATIONAL CONFERENCE ON REWRITING TECHNIQUES AND APPLICATIONS (RTA'10), 2010, 6 : 259 - 275
  • [4] Automated Termination Proofs for Haskell by Term Rewriting
    Giesl, Juergen
    Raffelsieper, Matthias
    Schneider-Kamp, Peter
    Swiderski, Stephan
    Thiemann, Rene
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2011, 33 (02):
  • [5] Automated termination analysis for Haskell: From term rewriting to programming languages
    Giesl, Juergen
    Swiderski, Stephan
    Schneider-Kamp, Peter
    Thiemann, Rene
    TERM REWRITING AND APPLICATIONS, PROCEEDINGS, 2006, 4098 : 297 - 312
  • [6] Rewriting of imperative programs into logical equations
    Ponsini, O
    Fédèle, C
    Kounalis, E
    SCIENCE OF COMPUTER PROGRAMMING, 2005, 56 (03) : 363 - 401
  • [7] Termination Analysis of Imperative Programs Using Bitvector Arithmetic
    Falke, Stephan
    Kapur, Deepak
    Sinz, Carsten
    VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS, 2012, 7152 : 261 - +
  • [8] Precise Slicing in Imperative Programs via Term-Rewriting and Abstract Interpretation
    Komondoor, Raghavan
    STATIC ANALYSIS, SAS 2013, 2013, 7935 : 259 - 282
  • [9] The Termination Hierarchy for Term Rewriting
    H. Zantema
    Applicable Algebra in Engineering, Communication and Computing, 2001, 12 : 3 - 19
  • [10] Total termination of term rewriting
    Ferreira, MCF
    Zantema, H
    APPLICABLE ALGEBRA IN ENGINEERING COMMUNICATION AND COMPUTING, 1996, 7 (02) : 133 - 162