Title
DiagDroid: Android performance diagnosis via anatomizing asynchronous executions.
Abstract
Rapid UI responsiveness is a key consideration to Android app developers. However, the complicated concurrency model of Android makes it hard for developers to understand and further diagnose the UI performance. This paper presents DiagDroid, a tool specifically designed for Android UI performance diagnosis. The key notion of DiagDroid is that UI-triggered asynchronous executions contribute to the UI performance, and hence their performance and their runtime dependency should be properly captured to facilitate performance diagnosis. However, there are tremendous ways to start asynchronous executions, posing a great challenge to profiling such executions and their runtime dependency. To this end, we properly abstract five categories of asynchronous executions as the building basis. As a result, they can be tracked and profiled based on the specifics of each category with a dynamic instrumentation approach carefully tailored for Android. DiagDroid can then accordingly profile the asynchronous executions in a task granularity, equipping it with low-overhead and high compatibility merits. The tool is successfully applied in diagnosing 33 real-world open-source apps, and we find 14 of them contain 27 performance issues. It shows the effectiveness of our tool in Android UI performance diagnosis. The tool is open-source released online.
Year
DOI
Venue
2016
10.1145/2950290.2950316
SIGSOFT FSE
Keywords
Field
DocType
Android,Performance Diagnosis,UI Responsiveness
Dynamic instrumentation,Android app,Asynchronous communication,Android (operating system),Computer science,Concurrency,Profiling (computer programming),Real-time computing,Embedded system
Conference
Citations 
PageRank 
References 
7
0.42
46
Authors
4
Name
Order
Citations
PageRank
Yu Kang1707.77
Yangfan Zhou223229.72
hui xu3163.93
Michael R. Lyu410985529.03