Experiments in Cost Analysis of Java']Java Bytecode

被引:7
|
作者
Albert, E. [1 ]
Arenas, P. [1 ]
Genaim, S. [2 ]
Puebla, G. [2 ]
Zanardini, D. [2 ]
机构
[1] Univ Complutense Madrid, DSIC, Madrid, Spain
[2] Tech Univ Madrid, Madrid, Spain
关键词
Cost analysis; !text type='Java']Java[!/text] bytecode; cost relations; recurrence equations; complexity;
D O I
10.1016/j.entcs.2007.02.061
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Recently, we proposed a general framework for the cost analysis of Java bytecode which can be used for measuring resource usage. This analysis generates, at compile-time, cost relations which define the cost of programs as a function of their input data size. The purpose of this paper is to assess the practicality of such cost analysis by experimentally evaluating a prototype analyzer implemented in Ciao. With this aim, we approximate the computational complexity of a set of selected benchmarks, including both well-known algorithms which have been used to evaluate existing cost analyzers in other programming paradigms, and other benchmarks which illustrate object-oriented features. In our evaluation, we first study whether the generated cost relations can be automatically solved. Our experiments show that in some cases the inferred cost relations can be automatically solved by using the Mathematica system, whereas, in other cases, some prior manipulation is required for the equations to be solvable. Moreover, we experimentally evaluated the running time of the different phases of the analysis process. Overall, we believe our experiments show that the efficiency of our cost analysis is acceptable, and that the obtained cost relations are useful in practice since, at least in our experiments, it is possible to get a closed form solution.
引用
收藏
页码:67 / 83
页数:17
相关论文
共 50 条
  • [1] Cost analysis of Java']Java bytecode
    Albert, E.
    Arenas, P.
    Genaim, S.
    Puebla, G.
    Zanardini, D.
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2007, 4421 : 157 - +
  • [2] Experiments with Non-Termination Analysis for Java']Java Bytecode
    Payet, Etienne
    Spoto, Fausto
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (05) : 83 - 96
  • [3] Removing Useless Variables in Cost Analysis of Java']Java Bytecode
    Albert, E.
    Arenas, P.
    Genaim, S.
    Puebla, G.
    Zanardini, D.
    APPLIED COMPUTING 2008, VOLS 1-3, 2008, : 368 - +
  • [4] 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 - +
  • [5] Dependence analysis of Java']Java bytecode
    Zhao, JJ
    24TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COSPSAC 2000), 2000, 24 : 486 - 491
  • [6] 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 - +
  • [7] Information flow analysis for Java']Java bytecode
    Genaim, S
    Spoto, F
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, PROCEEDINGS, 2005, 3385 : 346 - 362
  • [8] Java']Java bytecode verification
    Nipkow, T
    JOURNAL OF AUTOMATED REASONING, 2003, 30 (3-4) : 233 - 233
  • [9] Java']Java bytecode optimizations
    Lambright, HD
    IEEE COMPCON 97, PROCEEDINGS, 1997, : 206 - 210
  • [10] A Java']Java Bytecode Formalisation
    Czarnik, Patryk
    Chrzaszcz, Jacek
    Schubert, Aleksy
    VERIFIED SOFTWARE: THEORIES, TOOLS, AND EXPERIMENTS, (VSTTE 2018), 2018, 11294 : 135 - 154