Experiments with Non-Termination Analysis for Java']Java Bytecode

被引:2
|
作者
Payet, Etienne [1 ]
Spoto, Fausto [2 ]
机构
[1] Univ La Reunion, IREMIA, St Denis, Reunion, France
[2] Univ Verona, Dipartimento Informat, Verona, Italy
关键词
!text type='Java']Java[!/text; !text type='Java']Java[!/text] bytecode; static analysis; termination; non-termination;
D O I
10.1016/j.entcs.2009.11.016
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Non-termination analysis proves that programs, or parts of a program, do not terminate. This is important since non-termination is often an unexpected behaviour of computer programs and exposes a bug in their code. While research has found ways of proving non-termination of logic programs and of term rewriting systems, this is hardly the case for imperative programs. In this paper, we describe and experiment with a technique for proving non-termination of imperative, bytecode programs by relating their non-termination to that of a (constraint) logic program. Moreover, we show that our non-termination test effectively helps a termination test, by avoiding expensive search for termination proofs of those portions of the code where such proofs do not exist.
引用
收藏
页码:83 / 96
页数:14
相关论文
共 50 条
  • [1] Termination analysis of Java']Java Bytecode
    Albert, Elvira
    Arenas, Puri
    Codish, Michael
    Genaim, Samir
    Puebla, German
    Zanardini, Damiano
    FORMAL METHODS FOR OPEN OBJECT-BASED DISTRIBUTED SYSTEMS, PROCEEDINGS, 2008, 5051 : 2 - +
  • [2] Experiments in Cost Analysis of Java']Java Bytecode
    Albert, E.
    Arenas, P.
    Genaim, S.
    Puebla, G.
    Zanardini, D.
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 190 (01) : 67 - 83
  • [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] Using CLP Simplifications to Improve Java']Java Bytecode Termination Analysis
    Spoto, Fausto
    Lu, Lunjin
    Mesnard, Fred
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (05) : 129 - 144
  • [5] Termination graphs for java bytecode
    LuFG Informatik 2, RWTH Aachen University, Germany
    Lect. Notes Comput. Sci., (17-37):
  • [6] Cost analysis of Java']Java bytecode
    Albert, E.
    Arenas, P.
    Genaim, S.
    Puebla, G.
    Zanardini, D.
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2007, 4421 : 157 - +
  • [7] Dependence analysis of Java']Java bytecode
    Zhao, JJ
    24TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COSPSAC 2000), 2000, 24 : 486 - 491
  • [8] A Termination Analyzer for Java']Java Bytecode Based on Path-Length
    Spoto, Fausto
    Mesnard, Fred
    Payet, Etienne
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 32 (03):
  • [9] COSTA: Design and Implementation of a Cost and Termination Analyzer for Java']Java Bytecode
    Albert, E.
    Arenas, P.
    Genaim, S.
    Puebla, G.
    Zanardini, D.
    FORMAL METHODS FOR COMPONENTS AND OBJECTS, 2008, 5382 : 113 - +
  • [10] Heap Space Analysis for Java']Java Bytecode
    Albert, Elvira
    Genaim, Samir
    Gomez-Zamalloa, Miguel
    ISMM'07: PROCEEDINGS OF THE 2007 INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, 2007, : 105 - +