当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Characterizing the evolution of statically-detectable performance issues of Android apps
Empirical Software Engineering ( IF 4.1 ) Pub Date : 2020-05-04 , DOI: 10.1007/s10664-019-09798-3
Teerath Das , Massimiliano Di Penta , Ivano Malavolta

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.

中文翻译:

表征 Android 应用程序的静态可检测性能问题的演变

移动应用程序在我们的日常生活中发挥着重要作用,并且它们趋于变得越来越复杂和对资源的要求越来越高。因此,可能会出现性能问题,破坏用户体验,或者更糟糕的是,会妨碍应用程序的有效使用。最终,此类问题可能会导致差评并影响应用程序的成功。开发人员通过动态分析(即性能测试和分析器工具)来处理性能问题,尽管静态分析工具对于早期检测某些此类问题可能是有效的、相对便宜的补充。本文实证研究了流行的静态分析工具 Android Lint 发现的潜在性能问题如何在我们分析的 724 个应用程序中的 316 个开源 Android 应用程序中得到实际解决。进一步来说,该研究追溯了 Android Lint 自推出以来检测到的问题,直到问题得到解决,目的是研究 (i) 应用程序性能问题的整体演变,(ii) 已解决问题的比例,以及 (iii)其生存时间的分布,以及 (iv) 开发人员在提交消息中记录问题解决的程度。结果表明,某些问题,尤其是与资源回收不足相关的问题,往往比其他问题更频繁。此外,虽然一些主要是算法性质的问题往往通过众所周知的模式快速解决,但其他问题往往会在应用程序中停留更长时间,或者根本没有解决。最后,我们发现提交消息中只记录了 10% 的问题解决方案。目的是研究 (i) 应用程序性能问题的整体演变,(ii) 解决问题的比例,以及 (iii) 其生存时间的分布,以及 (iv) 问题解决的程度由开发人员在提交消息中记录。结果表明,某些问题,尤其是与资源回收不足相关的问题,往往比其他问题更频繁。此外,虽然一些主要是算法性质的问题往往通过众所周知的模式快速解决,但其他问题往往会在应用程序中停留更长时间,或者根本没有解决。最后,我们发现提交消息中只记录了 10% 的问题解决方案。目的是研究 (i) 应用程序性能问题的整体演变,(ii) 解决问题的比例,以及 (iii) 其生存时间的分布,以及 (iv) 问题解决的程度由开发人员在提交消息中记录。结果表明,某些问题,尤其是与资源回收不足相关的问题,往往比其他问题更频繁。此外,虽然一些主要是算法性质的问题往往通过众所周知的模式快速解决,但其他问题往往会在应用程序中停留更长时间,或者根本没有解决。最后,我们发现提交消息中只记录了 10% 的问题解决方案。(iv) 开发人员在提交消息中记录问题解决的程度。结果表明,某些问题,尤其是与资源回收不足相关的问题,往往比其他问题更频繁。此外,虽然一些主要是算法性质的问题往往通过众所周知的模式快速解决,但其他问题往往会在应用程序中停留更长时间,或者根本没有解决。最后,我们发现提交消息中只记录了 10% 的问题解决方案。(iv) 开发人员在提交消息中记录问题解决的程度。结果表明,某些问题,尤其是与资源回收不足相关的问题,往往比其他问题更频繁。此外,虽然一些主要是算法性质的问题往往通过众所周知的模式快速解决,但其他问题往往会在应用程序中停留更长时间,或者根本没有解决。最后,我们发现提交消息中只记录了 10% 的问题解决方案。或根本无法解决。最后,我们发现提交消息中只记录了 10% 的问题解决方案。或根本无法解决。最后,我们发现提交消息中只记录了 10% 的问题解决方案。
更新日期:2020-05-04
down
wechat
bug