scispace - formally typeset
Proceedings ArticleDOI

Soot: a Java bytecode optimization framework

Reads0
Chats0
TLDR
Soot, a framework for optimizing Java* bytecode, 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.
Abstract
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 improvements, we provide experimental results for 12 large benchmarks, including 8 SPECjvm98 benchmarks running on JDK 1.2 for GNU/Linuxtm. These results show up to 8% improvement when the optimized bytecode is run using the interpreter and up to 21% when run using the JIT compiler.

read more

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

PScout: analyzing the Android permission specification

TL;DR: An analysis of the permission system of the Android smartphone OS is performed and it is found that a trade-off exists between enabling least-privilege security with fine-grained permissions and maintaining stability of the permissions specification as the Android OS evolves.
Proceedings ArticleDOI

Security Analysis of Emerging Smart Home Applications

TL;DR: This paper analyzed Samsung-owned SmartThings, which has the largest number of apps among currently available smart home platforms, and supports a broad range of devices including motion sensors, fire alarms, and door locks, and discovered two intrinsic design flaws that lead to significant overprivilege in SmartApps.
Proceedings ArticleDOI

Apposcopy: semantics-based detection of Android malware through static analysis

TL;DR: The signature matching algorithm of Apposcopy uses a combination of static taint analysis and a new form of program representation called Inter-Component Call Graph to efficiently detect Android applications that have certain control- and data-flow properties.
Proceedings ArticleDOI

Automated concolic testing of smartphone apps

TL;DR: The approach is based on concolic testing and generates sequences of events automatically and systematically and alleviates the path-explosion problem by checking a condition on program executions that identifies subsumption between different event sequences.
Proceedings ArticleDOI

Guided GUI testing of android apps with minimal restart and approximate learning

TL;DR: This paper proposes an automated technique, called Swift-Hand, for generating sequences of test inputs for Android apps, which uses machine learning to learn a model of the app during testing, uses the learned model to generate user inputs that visit unexplored states of theapp, and uses the execution of the application on the generated inputs to refine the model.
References
More filters
Book

Compilers: Principles, Techniques, and Tools

TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
Book

The Java Virtual Machine Specification

Tim Lindholm, +1 more
TL;DR: In this article, the authors present a detailed overview of the Java Virtual Machine, including the internal structure of the class file format, the internal form of Fully Qualified Class and Interface names, and the implementation of new class instances.
Book

Advanced Compiler Design and Implementation

TL;DR: Advanced Compiler Design and Implementation by Steven Muchnick Preface to Advanced Topics
Book ChapterDOI

Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis

TL;DR: In this article, a complete inheritance graph of a program is examined, which is called class hierarchy analysis, and the compiler can improve the quality of static class information and thereby improve run-time performance.
Related Papers (5)