Integration of Doop's static analysis to ReDex optimizer

Postgraduate Thesis uoadl:2884741 275 Read counter

Unit:
Κατεύθυνση / ειδίκευση Υπολογιστικά Συστήματα: Λογισμικό και Υλικό (ΣΥΣ)
Πληροφορική
Deposit date:
2019-11-04
Year:
2019
Author:
Zoghbi Lydia
Supervisors info:
Γιάννης Σμαραγδάκης, Καθηγητής, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ
Original Title:
Integration of Doop's static analysis to ReDex optimizer
Languages:
English
Translated title:
Integration of Doop's static analysis to ReDex optimizer
Summary:
Mobile devices have limited processing power, memory, and battery life; thus, optimizing mobile applications for better performance is critical for their successful deployment. However, since optimization requires high-level technical expertise, it is a daunting task for an application developer. Therefore, automatic code optimization techniques and tools are widely used to achieve high performance in applications for mobile devices. An Android application is written in the Java language and a well-known optimizer for Android applications is ReDex, operating on the bytecode level. It statically analyzes the application and, based on that information, it applies optimizations wherever possible. However, ReDex’s static analysis is strict and conservative, and thus it may miss various optimization opportunities. For that reason, in this thesis we attempt to enhance ReDex’s static analysis and the optimization passes it runs on an application. We use Doop, which is a framework for pointer, or points-to, analysis of Java programs, and runs deeper and more detailed analysis, providing us with more information that we can leverage. Our main focus is the method inlining optimization and how we can further expand it so that it can also apply to virtual methods.
Main subject category:
Science
Keywords:
static program analysis, doop framework, program optimization, ReDex, method inlining
Index:
Yes
Number of index pages:
3
Contains images:
Yes
Number of references:
8
Number of pages:
41
thesis.pdf (484 KB) Open in new window