EnergyPatch: Repairing Resource Leaks to Improve Energy-Efficiency of Android Apps

被引:49
作者
Banerjee, Abhijeet [1 ]
Chong, Lee Kee [1 ]
Ballabriga, Clement [2 ]
Roychoudhury, Abhik [1 ]
机构
[1] Natl Univ Singapore, Sch Comp, Singapore 119077, Singapore
[2] Univ Lille, F-59650 Villeneuve, France
关键词
Mobile apps; energy bugs; non-functional testing; energy-aware test generation;
D O I
10.1109/TSE.2017.2689012
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Increased usage of mobile devices, such as smartphones and tablets, has led to widespread popularity and usage of mobile apps. If not carefully developed, such apps may demonstrate energy-inefficient behaviour, where one or more energy-intensive hardware components (such as Wifi, GPS, etc) are left in a high-power state, even when no apps are using these components. We refer to such kind of energy-inefficiencies as energy bugs. Executing an app with an energy bug causes the mobile device to exhibit poor energy consumption behaviour and a drastically shortened battery life. Since mobiles apps can have huge input domains, therefore exhaustive exploration is often impractical. We believe that there is a need for a framework that can systematically detect and fix energy bugs in mobile apps in a scalable fashion. To address this need, we have developed EnergyPatch, a framework that uses a combination of static and dynamic analysis techniques to detect, validate and repair energy bugs in Android apps. The use of a lightweight, static analysis technique enables EnergyPatch to quickly narrow down to the potential program paths along which energy bugs may occur. Subsequent exploration of these potentially buggy program paths using a dynamic analysis technique helps in validations of the reported bugs and to generate test cases. Finally, EnergyPatch generates repair expressions to fix the validated energy bugs. Evaluation with real-life apps from repositories such as F-droid and Github, shows that EnergyPatch is scalable and can produce results in reasonable amount of time. Additionally, we observed that the repair expressions generated by EnergyPatch could bring down the energy consumption on tested apps up to 60 percent.
引用
收藏
页码:470 / 490
页数:21
相关论文
共 37 条
  • [1] Anand S., 2007, TOOLS ALGORITHMS CON
  • [2] Anand S, 2007, LECT NOTES COMPUT SC, V4424, P134
  • [3] Anand Saswat, 2012, P ACM SIGSOFT 20 INT
  • [4] [Anonymous], 2011, P 10 ACM WORKSH HOT
  • [5] [Anonymous], 2010, P ACM IEEE 32 INT C, DOI DOI 10.1145/1806799.1806874
  • [6] [Anonymous], 2010, P ACM MOBISYS, DOI [10.1145/1814433.1814441, DOI 10.1145/1814433.1814441]
  • [7] [Anonymous], 2000, International Journal on Software Tools for Technology Transfer
  • [8] ASM, JAV BYET MAN AN FRAM
  • [9] Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximation
    Baek, Woongki
    Chilimbi, Trishul M.
    [J]. PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 198 - 209
  • [10] Detecting Energy Bugs and Hotspots in Mobile Apps
    Banerjee, Abhijeet
    Chong, Lee Kee
    Chattopadhyay, Sudipta
    Roychoudhury, Abhik
    [J]. 22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 588 - 598