• DocumentCode
    897005
  • Title

    Revisiting Java Bytecode Compression for Embedded and Mobile Computing Environments

  • Author

    Saougkos, Dimitris ; Manis, George ; Blekas, Konstantinos ; Zarras, Apostolos V.

  • Author_Institution
    Univ. of Ioannina
  • Volume
    33
  • Issue
    7
  • fYear
    2007
  • fDate
    7/1/2007 12:00:00 AM
  • Firstpage
    478
  • Lastpage
    495
  • Abstract
    Pattern-based Java bytecode compression techniques rely on the identification of identical instruction sequences that occur more than once. Each occurrence of such a sequence is substituted by a single instruction. The sequence defines a pattern that is used for extending the standard bytecode instruction set with the instruction that substitutes the pattern occurrences in the original bytecode. Alternatively, the pattern may be stored in a dictionary that serves for the bytecode decompression. In this case, the instruction that substitutes the pattern in the original bytecode serves as an index to the dictionary. In this paper, we investigate a bytecode compression technique that considers a more general case of patterns. Specifically, we employ the use of an advanced pattern discovery technique that allows locating patterns of an arbitrary length, which may contain a variable number of wildcards in place of certain instruction opcodes or operands. We evaluate the benefits and the limitations of this technique in various scenarios that aim at compressing the reference implementation of MIDP, a standard Java environment for the development of applications for mobile devices.
  • Keywords
    Java; distributed programming; mobile computing; bytecode decompression; embedded environments; mobile computing environments; mobile devices; pattern discovery technique; pattern-based Java bytecode compression techniques; standard bytecode instruction; Code standards; Computer aided instruction; Dictionaries; Embedded computing; Helium; Java; Mobile computing; Page description languages; Standards development; Virtual machining; Java; compression (coding).;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2007.1021
  • Filename
    4227829