• DocumentCode
    2981915
  • Title

    Dynamic bytecode usage by object oriented Java programs

  • Author

    Waldron, John

  • Author_Institution
    Sch. of Comput. Applications, Dublin City Univ., Ireland
  • fYear
    1999
  • fDate
    36342
  • Firstpage
    384
  • Lastpage
    393
  • Abstract
    Java is an object oriented language that has grown in popularity since its release in 1996 and is particularly interesting because it uses a byte code intermediate language to represent programs, so that the same program can be run unchanged on machines with different underlying instruction sets. To measure dynamic byte code usage it was necessary to modify the source code 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
  • Keywords
    Java; instruction sets; object-oriented programming; software tools; Java; Java Virtual Machine; Kaffe; applets; byte code intermediate language; class file; dynamic bytecode usage; instruction sets; object oriented language; object oriented programming; operand stack; pushed local variables; source code; test suite; Computer applications; Computer architecture; Embedded system; Encoding; Frequency; Instruction sets; Java; Programming; Testing; Virtual machining;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Technology of Object-Oriented Languages and Systems, 1999. Proceedings of
  • Conference_Location
    Nancy
  • Print_ISBN
    978-0-7695-0275-5
  • Type

    conf

  • DOI
    10.1109/TOOLS.1999.779084
  • Filename
    779084