Dynamic bytecode usage by object oriented Java']Java programs.

被引:0
|
作者
Waldron, J [1 ]
机构
[1] Dublin City Univ, Sch Comp Applicat, Dublin 9, Ireland
关键词
D O I
10.1109/TOOLS.1999.779084
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Java is an object oriented language that has grown in popularity since its release in 1996 and is particularly interesting because it uses a bytecode intermediate language to represent programs, so that the same program can be run unchanged on machines with different underlying instruction sets. To measure dynamic bytecode usage it was necessary to modify the source code of Kaffe, a Java Virtual Machine. A selection of programs was measured to compare the way different applets and applications use the bytecodes, and it was found that very similar patterns of usage appear in all cases. For the test suite studied most of the bytecodes were used at least once during execution. However a small subset of the bytecodes was executed with very high frequency. 40% of instructions executed either pushed local variables or constants onto the operand stack, merely telling the useful instructions which operands to use. This result questions the stack based design for the intermediate representation of Java programs, since the bytecodes only occupy on average twelve percent of a class file, an intermediate representation that is less compact, but executes more efficiently might be possible.
引用
收藏
页码:384 / 393
页数:10
相关论文
共 50 条
  • [1] Dynamic slicing of Java']Java bytecode programs
    Szegedi, A
    Gyimóthy, T
    [J]. FIFTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2005, : 35 - 44
  • [2] On object initialization in the Java']Java bytecode
    Doyon, S
    Debbabi, M
    [J]. COMPUTER COMMUNICATIONS, 2000, 23 (17) : 1594 - 1605
  • [3] Slicing object-oriented Java']Java programs
    Chen, ZQ
    Xu, BW
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (04) : 33 - 40
  • [4] Dynamic semantics of Java']Java bytecode
    Bertelsen, P
    [J]. FUTURE GENERATION COMPUTER SYSTEMS, 2000, 16 (07) : 841 - 850
  • [5] Path Executions of Java']Java Bytecode Programs
    Soomro, Safeeullah
    Alansari, Zainab
    Belgaum, Mohammad Riyaz
    [J]. PROGRESS IN ADVANCED COMPUTING AND INTELLIGENT ENGINEERING, VOL 2, 2018, 564 : 261 - 271
  • [6] A Framework for Debugging Java']Java Programs in a Bytecode
    Soomro, Safeeullah
    Belgaum, Mohammad Riyaz
    Alansari, Zainab
    Miraz, Mahdi H.
    [J]. 2018 INTERNATIONAL CONFERENCE ON COMPUTING, ELECTRONICS & COMMUNICATIONS ENGINEERING (ICCECE), 2018, : 317 - 322
  • [7] A programming logic for Java']Java bytecode programs
    Quigley, CL
    [J]. THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2003, 2758 : 41 - 54
  • [8] An empirical study of Java']Java bytecode programs
    Collberg, Christian
    Myles, Ginger
    Stepp, Michael
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2007, 37 (06): : 581 - 641
  • [9] Designing concurrent object-oriented programs in Java']Java
    Holmes, D
    Lea, D
    [J]. TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES - TOOLS 33, PROCEEDINGS, 2000, : 461 - 461
  • [10] Object-Oriented Parallelisation of Java']Java Desktop Programs
    Giacaman, Nasser
    Sinnen, Oliver
    [J]. IEEE SOFTWARE, 2011, 28 (01) : 32 - 38