Optimizing java bytecode using the soot framework: Is it feasible

237Citations
Citations of this article
53Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

This paper presents Soot, a framework for optimizing Java™ bytecode. The framework is implementedin Java andsu pports three intermediate representations for representing Java byte code: Baf, a stream lined representation of Java’s stack-based bytecode; Jimple, a typed three-address intermediate representation suitable for optimization; andGrim p, an aggregated version of Jimple. Our approach to class file optimization is to first convert the stack-based bytecode into Jimple, a three-address form more amenable to traditional program optimization, andt hen convert the optimized Jimple back to bytecode. In order to demonstrate that our approach is feasible, we present experimental results showing the effects of processing class files through our framework. In particular, we study the techniques necessary to effectively translate Jimple back to bytecode, without losing performance. Finally, we demonstrate that class file optimization can be quite effective by showing the results of some basic optimizations using our framework. Our experiments were done on ten benchmarks, including seven SPECjvm98 benchmarks, andw ere executedon five different Java virtual machine implementations.

Cite

CITATION STYLE

APA

Vallée-Rai, R., Gagnon, E., Hendren, L., Lam, P., Pominville, P., & Sundaresan, V. (2000). Optimizing java bytecode using the soot framework: Is it feasible. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1781, pp. 18–34). Springer Verlag. https://doi.org/10.1007/3-540-46423-9_2

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free