Not logged in.

Contribution Details

Type Dissertation
Scope Discipline-based scholarship
Title Compressing Java binaries: the ristretto project
Authors
  • Antonioli Denis N.
Supervisors
  • Lutz H. Richter
  • Helmut Schauer
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Date 2001
Abstract Text This thesis presents the development of a wire format for Java applications. Whereas file formats, such as the Java class file format, put nowadays the emphasis on the ease with which they can be manipulated at the expense of the space they need, a wire format is specialized to achieve short transmission times. A wire format puts hence the emphasis on the space needed and takes a complex decoding step into account. The thesis presents the principal features of code systems, such as how the programs are represented, how they are executed and how portable the resulting environments are; it builds with these features a taxonomy of code systems. The special requirements of mobile code systems are discussed in this context. Java class files belong to the category of object files, which are files that contain compiled code. All these files have a strict syntax and they are frequently transformed to acquire specific properties, such as a smaller size. The thesis discusses the tools and techniques used to reduce the file size. The thesis presents for the first time detailed results of the analysis of Java applications. Beside external characteristics, such as the size and number of files, the analysis explores the content of the files. The development of the wire format takes place in two stages. In the first stage, the format of the class file is changed in order to reduce the size of individual files. In the second stage, redundancies are detected in groups of classes and the format is adapted to take advantage of them. All these transformations are confirmed experimentally. Finally, a measure of the distance between two classes is introduced. With this measure, data clustering algorithms can be used to define groups of classes that best compress together.
Zusammenfassung Diese Dissertation stellt die Entwicklung eines Übertragungformats für Java- Anwendungen dar. Heutzutage wird der Schwerpunkt bei der Entwicklung neuer Dateiformate auf eine einfache Bedienung gesetzt, wie es der Fall für das Java-Classfile-Format war. In dieser Arbeit wird hingegen ein Übertragungsformat entworfen, um die Übermittlungzeiten zu minimieren. Ein Übertragungformat setzt folglich den Schwerpunkt auf den benötigten Platz und akzeptiert dafür komplizierten Decodierungsschritt. Die Dissertation stellt die wesentlichen Eigenschaften von Codesystemen dar. Diese Eigenschaften umfassen die Darstellung der Programme, deren Ausführungsart und die Portabilität der resultierenden Systeme. Auf der Basis dieser Eigenschaften entwickelt die Dissertation eine Taxonomie der Codesysteme. In diesem Kontext werden die speziellen Anforderungen der mobilen Codesysteme behandelt. Die Java-Classfiles sind Objektdateien, also Dateien, die kompilierten Code enthalten. Alle diese Dateien haben eine strenge Syntax. Sie werden häufig umgewandelt, um spezifische Eigenschaften, wie eine geringere Grösse, zu erhalten. Die Dissertation befasst sich mit den Hilfsmitteln und den Techniken, um dieses Ziel zu erreichen. Die Dissertation analysiert den Aufbau von Java-Anwendungen. Neben externen Eigenschaften wie der Grösse und Zahl der Dateien beschäftigt sich die Analyse mit den Inhalten der Dateien und stellt erstmalig detaillierte Resultate dar. Die Entwicklung des Übertragungformats findet in zwei Stufen statt. In einer ersten Stufe wird das Java-Classfile-Format so verändert, dass die Grösse der einzelnen Dateien verringert wird. In einer zweiten Stufe werden Redundanzen in Gruppen von Classfiles genutzt. Alle diese Transformationen werden experimentell bestätigt. Schliesslich wird ein Mass des Abstandes zwischen zwei Classfiles eingeführt. Mit diesem Mass können mittels clustering Algorithmen Gruppen von Classfiles definiert werden, die gemeinsam besser komprimieren werden können.
Export BibTeX
EP3 XML (ZORA)