Characterizing the evolution of statically-detectable performance issues of Android apps

Teerath Das, Massimiliano Di Penta, Ivano Malavolta*

*Corresponding author for this work

Research output: Contribution to JournalArticleAcademicpeer-review

394 Downloads (Pure)

Abstract

Mobile apps are playing a major role in our everyday life, and they are tending to become more and more complex and resource demanding. Because of that, performance issues may occur, disrupting the user experience or, even worse, preventing an effective use of the app. Ultimately, such problems can cause bad reviews and influence the app success. Developers deal with performance issues thorough dynamic analysis, i.e., performance testing and profiler tools, albeit static analysis tools can be a valid, relatively inexpensive complement for the early detection of some such issues. This paper empirically investigates how potential performance issues identified by a popular static analysis tool — Android Lint — are actually resolved in 316 open source Android apps among 724 apps we analyzed. More specifically, the study traces the issues detected by Android Lint since their introduction until they resolved, with the aim of studying (i) the overall evolution of performance issues in apps, (ii) the proportion of issues being resolved, as well as (iii) the distribution of their survival time, and (iv) the extent to which issue resolution are documented by developers in commit messages. Results indicate how some issues, especially related to the lack of resource recycle, tend to be more frequent than others. Also, while some issues, primarily of algorithmic nature, tend to be resolved quickly through well-known patterns, others tend to stay in the app longer, or not to be resolved at all. Finally, we found how only 10% of the issue resolution is documented in commit messages.

Original languageEnglish
Pages (from-to)2748-2808
Number of pages61
JournalEmpirical Software Engineering
Volume25
Issue number4
Early online date4 May 2020
DOIs
Publication statusPublished - Jul 2020

Keywords

  • Android
  • Empirical study
  • Mining software repositories
  • Mobile performance issues

Fingerprint

Dive into the research topics of 'Characterizing the evolution of statically-detectable performance issues of Android apps'. Together they form a unique fingerprint.

Cite this