This paper presents Soot, a framework for optimizing Java bytecode. The framework is implemented in Java and supports three intermediate representations for representing Java bytecode: Baf, a streamlined representation of bytecode which is simple to manipulate; Jimple, a typed 3-address intermediate representation suitable for optimization; and Grimp, an aggregated version of Jimple suitable for decompilation. We describe the motivation for each representation, and the salient points in translating from one representation to another. In order to demonstrate the usefulness of the framework, we have implemented intraprocedural and whole program optimizations. To show that whole program bytecode optimization can give performance improvement...
Embedded platforms are resource-constrained systems in which performance and memory requirements of ...
Compilation to bytecode paired with interpretation is often used as a technique to easily build pro...
We present the architecture of the Rosser toolkit that allows optimisations to be specified in a dom...
This paper presents Soot, a framework for optimizing Java™ bytecode. The framework is implemented in...
This paper deals with the Java bytecode size optimization. It describes the Java Virtual Machine and...
[[abstract]]We are interested in the issues on the bytecode transformation for performance improveme...
This dissertation focuses on runtime optimization of Java programs, based on the application of code...
The efficient execution of Java programs presents a challenge to hardware and software designers ali...
This thesis presents Dava, a Java bytecode to Java source code decompiler built on top of the Soot ...
In this paper we present Jimple, a 3-address intermediate representation that has been designed to s...
This paper concentrates on optimizations which rely on the knowledge of the target architecture, so ...
Optimizing Java byte code is complicated by the fact that it uses a stack-based execution model. Ch...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
. The term "Java" is used to denote two different concepts: the language itself and the re...
This paper exploits the concept of optimizing the interpreted execution of Java programs with SuperO...
Embedded platforms are resource-constrained systems in which performance and memory requirements of ...
Compilation to bytecode paired with interpretation is often used as a technique to easily build pro...
We present the architecture of the Rosser toolkit that allows optimisations to be specified in a dom...
This paper presents Soot, a framework for optimizing Java™ bytecode. The framework is implemented in...
This paper deals with the Java bytecode size optimization. It describes the Java Virtual Machine and...
[[abstract]]We are interested in the issues on the bytecode transformation for performance improveme...
This dissertation focuses on runtime optimization of Java programs, based on the application of code...
The efficient execution of Java programs presents a challenge to hardware and software designers ali...
This thesis presents Dava, a Java bytecode to Java source code decompiler built on top of the Soot ...
In this paper we present Jimple, a 3-address intermediate representation that has been designed to s...
This paper concentrates on optimizations which rely on the knowledge of the target architecture, so ...
Optimizing Java byte code is complicated by the fact that it uses a stack-based execution model. Ch...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
. The term "Java" is used to denote two different concepts: the language itself and the re...
This paper exploits the concept of optimizing the interpreted execution of Java programs with SuperO...
Embedded platforms are resource-constrained systems in which performance and memory requirements of ...
Compilation to bytecode paired with interpretation is often used as a technique to easily build pro...
We present the architecture of the Rosser toolkit that allows optimisations to be specified in a dom...