PersisDroid: Android Performance Diagnosis via Anatomizing Asynchronous Executions
Yu Kang, Yangfan Zhou, Hui Xu, Michael R. Lyu

TL;DR
PersisDroid is a profiling tool for Android apps that accurately captures asynchronous execution performance to help developers diagnose UI responsiveness issues with low overhead.
Contribution
It introduces a novel dynamic instrumentation approach to profile diverse asynchronous executions in Android, improving performance diagnosis accuracy.
Findings
Identified 6 categories of asynchronous executions in Android.
Successfully diagnosed performance issues in 20 open-source apps.
Open-sourced PersisDroid for community use.
Abstract
Android applications (apps) grow dramatically in recent years. Apps are user interface (UI) centric typically. Rapid UI responsiveness is key consideration to app developers. However, we still lack a handy tool for profiling app performance so as to diagnose performance problems. This paper presents PersisDroid, a tool specifically designed for this task. The key notion of PersisDroid is that the UI-triggered asynchronous executions also contribute to the UI performance, and hence its performance should be properly captured to facilitate performance diagnosis. However, Android allows tremendous ways to start the asynchronous executions, posing a great challenge to profiling such execution. This paper finds that they can be grouped into six categories. As a result, they can be tracked and profiled according to the specifics of each category with a dynamic instrumentation approach…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Green IT and Sustainability · Software Testing and Debugging Techniques
