Proceedings ArticleDOI
Soot: a Java bytecode optimization framework
Raja Vallée-Rai,Phong Co,Etienne Gagnon,Laurie Hendren,Patrick Lam,Vijay Sundaresan +5 more
- pp 214-224
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
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,Frank Yellin +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)
The DaCapo benchmarks: java benchmarking development and analysis
Stephen M. Blackburn,Robin Garner,Chris Hoffmann,Asjad M. Khang,Kathryn S. McKinley,Rotem Bentzur,Amer Diwan,Daniel Feinberg,Daniel Frampton,Samuel Z. Guyer,Martin Hirzel,Antony L. Hosking,Maria Jump,Han Lee,J. Eliot B. Moss,Aashish Phansalkar,Darko Stefanovic,Thomas VanDrunen,Daniel von Dincklage,Ben Wiedermann +19 more