• DocumentCode
    3784301
  • Title

    PPMexe: PPM for compressing software

  • Author

    M. Drinic;D. Kirovski

  • Author_Institution
    Dept. of Comput. Sci., California Univ., Los Angeles, CA, USA
  • fYear
    2002
  • fDate
    6/24/1905 12:00:00 AM
  • Firstpage
    192
  • Lastpage
    201
  • Abstract
    With the emergence of software delivery platforms such as Microsoft´s .NET, code compression has become one of the core enabling technologies strongly affecting system performance. We present PPMexe - a set of compression mechanisms for executables that explores their syntax and semantics to achieve superior compression rates. The fundament of PPMexe is the generic paradigm of prediction by partial matching (PPM). We combine PPM with two pre-processing steps: instruction rescheduling to improve prediction rates and partitioning of a program binary into streams with high auto-correlation. We improve the traditional PPM algorithm by using: an additional alphabet of frequent variable-length super-symbols extracted from the input stream of fixed-length symbols and a low-overhead mechanism that enables decompression starting from an arbitrary instruction of the executable, a feature pivotal for run-time software delivery. PPMexe was implemented for x86 binaries and tested on several large Microsoft applications. Binaries compressed using PPMexe were 16-23% smaller than files created using PPMD, the best available compressor.
  • Keywords
    "Chromium","Runtime","Testing","Application software","NP-hard problem","Data mining","Computer science","Software performance","System performance","Autocorrelation"
  • Publisher
    ieee
  • Conference_Titel
    Data Compression Conference, 2002. Proceedings. DCC 2002
  • ISSN
    1068-0314
  • Print_ISBN
    0-7695-1477-4
  • Type

    conf

  • DOI
    10.1109/DCC.2002.999957
  • Filename
    999957