PPMexe: PPM for Compressing Software

نویسندگان

  • Milenko Drinic
  • Darko Kirovski
چکیده

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. In this paper, 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.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

PPMexe: PPM for Code Compression

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. In this paper, we present compression mechanisms for executables that explore their syntax and semantics to achieve superior compression rates. The fundament of our compression codec is the generic paradigm of predic...

متن کامل

Generic Adaptive Syntax-Directed Compression for Mobile Code

We propose a new scheme for compressing mobile programs. Our proposal is meant as part of a larger infrastructure for code distribution and deployment. In this paper we show how to effectively compress programs on the source level by compressing abstract syntax trees (ASTs) which are equivalent to source code (modulo comments and layout). We compress ASTs by adapting the wellknown PPM (predicti...

متن کامل

On Compression of Parse Trees

We consider methods for compressing parse trees, especially techniques based on statistical modeling. We regard a sequence of productions corresponding to a suffix of the path from the root of a tree to a node x as the context of a node x. The contexts are augmented with branching information of the nodes. By applying the text compression algorithm PPM on such contexts we achieve good compressi...

متن کامل

A memory versus compression ratio trade-off in PPM via compressed context modeling

Since its introduction prediction-by-partial-matching (PPM) has always been a de facto gold standard in lossless text compression, where many variants improving the compression ratio and speed have been proposed. However, reducing the high space requirement of PPM schemes did not gain that much attention. This study focuses on reducing the memory consumption of PPM via the recently proposed com...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002