Cost analysis of object-oriented bytecode programs

被引:73
|
作者
Albert, Elvira [2 ]
Arenas, Puri [2 ]
Genaim, Samir [2 ]
Puebla, German [1 ]
Zanardini, Damiano [1 ]
机构
[1] Tech Univ Madrid, Madrid 28660, Spain
[2] Univ Complutense Madrid, E-28040 Madrid, Spain
关键词
Cost analysis; Resource usage analysis; Bytecode languages; Static analysis; Quantitative analysis; RESOURCE BOUNDS; VERIFICATION; COMPLEXITY;
D O I
10.1016/j.tcs.2011.07.009
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Cost analysis statically approximates the cost of programs in terms of their input data size. This paper presents, to the best of our knowledge, the first approach to the automatic cost analysis of object-oriented bytecode programs. In languages such as Java and C#, analyzing bytecode has a much wider application area than analyzing source code since the latter is often not available. Cost analysis in this context has to consider, among others, dynamic dispatch, jumps, the operand stack, and the heap. Our method takes a bytecode program and a cost model specifying the resource of interest, and generates cost relations which approximate the execution cost of the program with respect to such resource. We report on COSTA, an implementation for Java bytecode which can obtain upper bounds on cost for a large class of programs and complexity classes. Our basic techniques can be directly applied to infer cost relations for other object-oriented imperative languages, not necessarily in bytecode form. (C) 2011 Elsevier B.V. All rights reserved.
引用
收藏
页码:142 / 159
页数:18
相关论文
共 50 条
  • [1] Change impact analysis for object-oriented programs
    Ryder, BG
    Tip, F
    [J]. ACM SIGPLAN NOTICES, 2001, : 46 - 53
  • [2] Completeness analysis for incomplete object-oriented programs
    Xue, JL
    Nguyen, PH
    [J]. COMPILER CONSTRUCTION, PROCEEDINGS, 2005, 3443 : 271 - 286
  • [3] A logic of object-oriented programs
    Abadi, M
    Rustan, K
    Leino, M
    [J]. VERIFICATION: THEORY AND PRACTICE: ESSAYS DEDICATED TO ZHOAR MANNA ON THE OCCASION OF HIS 64TH BIRTHDAY, 2003, 2772 : 11 - 41
  • [4] OBJECT-ORIENTED PROGRAMS IN REALTIME
    GWINN, JM
    [J]. SIGPLAN NOTICES, 1992, 27 (02): : 47 - 56
  • [5] Slicing object-oriented programs
    Chen, JL
    Wang, FJ
    Chen, YL
    [J]. ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE AND INTERNATIONAL COMPUTER SCIENCE CONFERENCE, PROCEEDINGS, 1997, : 395 - 404
  • [6] A DIAGRAM FOR OBJECT-ORIENTED PROGRAMS
    CUNNINGHAM, W
    BECK, K
    [J]. SIGPLAN NOTICES, 1986, 21 (11): : 361 - 367
  • [7] Recursion in object-oriented programs
    Blaschek, G
    Frohlich, JH
    [J]. JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1998, 11 (07): : 28 - 35
  • [8] Encapsulation in object-oriented programs
    Chen, JL
    Wang, FJ
    [J]. ACM SIGPLAN NOTICES, 1996, 31 (07) : 30 - 32
  • [9] Exploiting Linearity in Sharing Analysis of Object-oriented Programs
    Amato, Gianluca
    Meo, Maria Chiara
    Scozzari, Francesca
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2016, 322 : 3 - 18
  • [10] A Dynamic Impact Analysis Approach for Object-oriented Programs
    Huang, Lulu
    Song, Yeong-Tae
    [J]. PROCEEDINGS OF THE 2008 ADVANCED SOFTWARE ENGINEERING & ITS APPLICATIONS, 2008, : 217 - 220