Detecting energy bugs and hotspots in mobile apps

Detecting energy bugs and hotspots in mobile apps
复制标题

DOI:
10.1145/2635868.2635871
复制
发表时间:
2014-11
期刊:
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
影响因子:
--
通讯作者:
Abhijeet Banerjee;Lee Kee Chong;Sudipta Chattopadhyay;Abhik Roychoudhury
Abhijeet Banerjee;Lee Kee Chong;Sudipta Chattopadhyay;Abhik Roychoudhury
中科院分区:
其他
文献类型:
--
作者:
Abhijeet Banerjee;Lee Kee Chong;Sudipta Chattopadhyay;Abhik Roychoudhury

文献摘要

被引文献

相似文献

近年来,智能手机的普及程度急剧增加。这导致了智能手机应用程序的广泛可用性。由于智能手机的电池电量有限,因此开发有助于节能应用程序开发的工具和技术非常重要。智能手机应用中的能源效率低下可以大致分为能源热点和能源缺陷。能量热点可以被描述为执行应用程序导致智能手机消耗异常高的电池电量的场景,即使其硬件资源的利用率很低。相比之下,能量错误可以被描述为一种情况,其中故障应用程序阻止智能手机变得空闲,即使在它已经完成执行并且没有用户活动之后。在本文中,我们提出了一个自动化的测试生成框架,检测Android应用程序中的能源热点/错误。我们的框架系统地生成可能捕获能量热点/错误的测试输入。每个测试输入捕获导致应用程序中的能量热点/错误的用户交互序列(例如,在智能手机屏幕上的触摸或轻击)。对来自Google Play/F-Droid的30个免费Android应用程序的评估显示了我们的框架在查找热点/错误方面的有效性。手动验证的实验结果表明,我们的框架报告的误报数量相当低。最后,我们通过提高一些Android应用程序的能源效率来展示所生成的结果的使用。
Over the recent years, the popularity of smartphones has increased dramatically. This has lead to a widespread availability of smartphone applications. Since smartphones operate on a limited amount of battery power, it is important to develop tools and techniques that aid in energy-efficient application development. Energy inefficiencies in smartphone applications can broadly be categorized into energy hotspots and energy bugs. An energy hotspot can be described as a scenario where executing an application causes the smartphone to consume abnormally high amount of battery power, even though the utilization of its hardware resources is low. In contrast, an energy bug can be described as a scenario where a malfunctioning application prevents the smartphone from becoming idle, even after it has completed execution and there is no user activity. In this paper, we present an automated test generation framework that detects energy hotspots/bugs in Android applications. Our framework systematically generates test inputs that are likely to capture energy hotspots/bugs. Each test input captures a sequence of user interactions (e.g. touches or taps on the smartphone screen) that leads to an energy hotspot/bug in the application. Evaluation with 30 freely-available Android applications from Google Play/F-Droid shows the efficacy of our framework in finding hotspots/bugs. Manual validation of the experimental results shows that our framework reports reasonably low number of false positives. Finally, we show the usage of the generated results by improving the energy-efficiency of some Android applications.