Although mobile apps have become extremely popular, their usability is limited by their reliance on battery power. To some extent, the usability of these devices has increased with research in battery designs, hardware energy efficiency, and operating system design. However, even the most carefully optimized systems can be undermined by an app that performs inefficient or unnecessary actions. Unfortunately, app developers do not have the expertise or tools to gain insight into how their apps consume battery energy and how that energy can be reduced. As a result, even a cursory examination of reviews of marketplace applications reveals many customer complaints related to energy usage, and energy related software bugs have been extensively reported on in the literature.

The goal of my group's research into app energy consumption has been to help developers understand how energy is consumed within their apps and change their apps in ways that will lead to reduced energy consumption. Within the scope of this goal, our work has focused on three inter-related areas of research. First, the development of techniques for measuring and visualizing energy consumption of apps at a fine-grained level (See eLens [hao13icse] and vLens [li13issta]). Second, the use of this measurement capability to learn about the relationship between energy and implementation structure, and the identification of energy related best practices for developers (See [li14icsme], [li15demobile] [sahin15jsep], [li14greens], and [gui15icse]). Third, the development of automated techniques that enable developers to transform their implementations and/or take advantage of the discovered energy saving practices (See [li14issta], [li14icse], [wan15icst]).

This work is supported, in part, by NSF grant 1321141 to the University of Southern California.

2017
[18]
An Empirical Study of Local Database Usage in Android Applications. Yingjun Lyu, Jiaping Gui, Mian Wan, William G.J. Halfond. In Proceedings of the International Conference on Software Maintenance and Evolution (ICSME). September 2017. (To Appear)
[17]
Detecting Display Energy Hotspots in Android Apps. Mian Wan, Yuchen Jin, Ding Li, Jiaping Gui, Sonal Mahajan, William G. J. Halfond. In Software Testing, Verification and Reliability. Volume 2017. (To Appear)
2016
[16]
Lightweight Measurement and Estimation of Mobile Ad Energy Consumption. Jiaping Gui, Ding Li, Mian Wan, William G.J. Halfond. In Proceedings of the International Workshop on Green and Sustainable Software (GREENS). May 2016.
[15]
Automated Energy Optimization of HTTP Requests for Mobile Applications. Ding Li, Yingjun Lyu, Jiaping Gui, William G.J. Halfond. In Proceedings of the 38th International Conference on Software Engineering (ICSE). May 2016.
[14]
How Does Code Obfuscation Impact Energy Usage?. Cagri Sahin, Mian Wan, Philip Tornquist, Ryan McKenna, Zachary Pearson, William G.J. Halfond, James Clause. In Journal of Software: Evolution and Process. Volume 28 2016. ()
2015
[13]
Nyx: A Display Energy Optimizer for Mobile Web Apps. Ding Li, Angelica Huyen Tran, William G. J. Halfond. In Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE) -- Tool Track. September 2015.
[12]
Optimizing Display Energy Consumption for Hybrid Android Apps. Ding Li, Angelica Huyen Tran, William G.J. Halfond. In Proceedings of the Third International Workshop on Software Development Lifecycle for Mobile (DeMobile) -- Abstract for Invited Talk. September 2015.
[11]
Optimizing Energy of HTTP Requests in Android Applications. Ding Li, William G.J. Halfond. In Proceedings of the Third International Workshop on Software Development Lifecycle for Mobile (DeMobile) -- Short Paper. September 2015.
[10]
Truth in Advertising: The Hidden Cost of Mobile Ads for Software Developers. Jiaping Gui, Stu Mcilroy, Mei Nagappan, William G. J. Halfond. In Proceedings of the 37th International Conference on Software Engineering (ICSE). May 2015.
[9]
Detecting Display Energy Hotspots in Android Apps. Mian Wan, Yuchen Jin, Ding Li, William G. J. Halfond. In Proceedings of the 8th IEEE International Conference on Software Testing, Verification and Validation (ICST). April 2015.
2014
[8]
An Empirical Study of the Energy Consumption of Android Applications. Ding Li, Shuai Hao, Jiaping Gui, William G.J. Halfond. In Proceedings of the International Conference on Software Maintenance and Evolution (ICSME). September 2014.
[7]
Integrated Energy-Directed Test Suite Optimization. Ding Li, Yuchen Jin, Cagri Sahin, James Clause, William G. J. Halfond. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA). July 2014.
[6]
An Investigation Into Energy-Saving Programming Practices for Android Smartphone App Development. Ding Li, William G. J. Halfond. In Proceedings of the 3rd International Workshop on Green and Sustainable Software (GREENS). June 2014.
[5]
Making Web Applications More Energy Efficient for OLED Smartphones. Ding Li, Angelica Huyen Tran, William G. J. Halfond. In Proceedings of the International Conference on Software Engineering (ICSE). June 2014.
2013
[4]
Calculating Source Line Level Energy Information for Android Applications. Ding Li, Shuai Hao, William G.J. Halfond, Ramesh Govindan. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA). July 2013.
[3]
Estimating Mobile Application Energy Consumption using Program Analysis. Shuai Hao, Ding Li, William G. J. Halfond, Ramesh Govindan. In Proceedings of the 35th International Conference on Software Engineering (ICSE). May 2013.
[2]
Energy-directed Test Suite Optimization. Ding Li, Cagri Sahin, James Clause, William G.J. Halfond. In Proceedings of the Second International Workshop on Green and Sustainable Software (GREENS). May 2013.
2012
[1]
Estimating Android applications' CPU energy usage via bytecode profiling. Shuai Hao, Ding Li, William G. J. Halfond, Ramesh Govindan. In Proceedings of the First International Workshop on Green and Sustainable Software (GREENS). May 2012.