Being able to automatically detect the performance issues in apps can significantly improve apps' quality as well as having a positive influence on user satisfaction. Application Performance Management (APM) libraries are used to locate the apps' performance bottleneck, monitor their behaviors at runtime, and identify potential security risks. Although app developers have been exploiting application performance management (APM) tools to capture these potential performance issues, most of them do not fully understand the internals of these APM tools and the effect on their apps. To fill this gap, in this paper, we conduct the first systematic study on APMs for apps by scrutinizing 25 widely-used APMs for Android apps and develop a framework named APMHunter for exploring the usage of APMs in Android apps. Using APMHunter, we conduct a large-scale empirical study on 500,000 Android apps to explore the usage patterns of APMs and discover the potential misuses of APMs. We obtain two major findings: 1) some APMs still employ deprecated permissions and approaches, which makes APMs fail to perform as expected; 2) inappropriate use of APMs can cause privacy leaks. Thus, our study suggests that both APM vendors and developers should design and use APMs scrupulously.
翻译:应用绩效管理(APM)图书馆被用来查找应用软件的性能瓶颈,监测其运行时的行为,并查明潜在的安全风险。尽管应用程序开发者一直在利用应用绩效管理工具来捕捉这些潜在的性能问题,但大多数开发者并不完全理解这些APM工具的内部特征和对其应用程序的影响。为了填补这一空白,我们在本文件中进行了首次系统研究,通过仔细检查25个广泛使用的安机器人应用程序的防爆设备,并开发一个名为APMHunter的框架,以探索安卓应用程序中的防爆设备使用情况。我们利用APMHunter,对500 000个安非他明应用程序进行了大规模的经验研究,以探究这些防爆工具的使用模式和发现可能滥用防污药应用程序的情况。我们得到了两项主要结论:(1) 一些杀伤人员地雷仍在使用破损的许可和做法,这使得安卓应用的防药管系统无法如期使用。