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 条
  • [31] PicoJava']Java: A direct execution engine for Java']Java bytecode
    McGhan, H
    O'Connor, M
    COMPUTER, 1998, 31 (10) : 22 - +
  • [32] Advanced obfuscation techniques for Java']Java bytecode
    Chan, JT
    Yang, W
    JOURNAL OF SYSTEMS AND SOFTWARE, 2004, 71 (1-2) : 1 - 10
  • [33] An Evaluation of Static Java']Java Bytecode Watermarking
    Hamilton, James
    Danicic, Sebastian
    WORLD CONGRESS ON ENGINEERING AND COMPUTER SCIENCE, VOLS 1 AND 2, 2010, : 1 - 8
  • [34] CIL to Java']Java-bytecode Translation for Static Analysis Leveraging
    Ferrara, Pietro
    Cortesi, Agostino
    Spoto, Fausto
    2018 ACM/IEEE CONFERENCE ON FORMAL METHODS IN SOFTWARE ENGINEERING (FORMALISE 2018), 2018, : 40 - 49
  • [35] Abstract Interpretation of Java']Java Bytecode in Sturdy
    Marx, Stefan
    Erdweg, Sebastian
    PROCEEDINGS OF THE 26TH ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS, FTFJP 2024, 2024, : 17 - 22
  • [36] Path Executions of Java']Java Bytecode Programs
    Soomro, Safeeullah
    Alansari, Zainab
    Belgaum, Mohammad Riyaz
    PROGRESS IN ADVANCED COMPUTING AND INTELLIGENT ENGINEERING, VOL 2, 2018, 564 : 261 - 271
  • [37] Java Bytecode Verification
    Tobias Nipkow
    Journal of Automated Reasoning, 2003, 30 : 233 - 233
  • [38] Extending operational semantics of the Java']Java bytecode
    Czarnik, Patryk
    Schubert, Aleksy
    TRUSTWORTHY GLOBAL COMPUTING, 2008, 4912 : 57 - 72
  • [39] Data-flow based vulnerability analysis and Java']Java bytecode
    Chen, Hua
    Zou, Tao
    Wang, Dongxia
    PROCEEDINGS OF THE 7TH WSEAS INTERNATIONAL CONFERENCE ON APPLIED COMPUTER SCIENCE: COMPUTER SCIENCE CHALLENGES, 2007, : 201 - +
  • [40] A Comparative Analysis of Static and Dynamic Java']Java Bytecode Watermarking Algorithms
    Kumar, Krishan
    Kaur, Prabhpreet
    SOFTWARE ENGINEERING (CSI 2015), 2019, 731 : 319 - 334