Detecting energy leaks in Android app with POEM

This paper presents the design and implementation of a Portable Open Source Energy Monitor (POEM) to enable developers to automatically test and measure the energy consumption of every single application component down to the control flow level. Based on existing portable power meter designs, POEM extends the state of the art of application analysxis with the energy annotation of the control flow down to the basic blocks, the call graph, and the Android API calls, allowing developers to locate energy leaks in their applications with high accuracy. Because the power consumption is tied to the system status, energy annotation is also coupled with system activities.

[1]  Timothy J. Harvey,et al.  AS imple, Fast Dominance Algorithm , 1999 .

[2]  Rajesh Gupta,et al.  Evaluating the effectiveness of model-based power characterization , 2011 .

[3]  Lin Zhong,et al.  Self-constructive high-rate system energy modeling for battery-powered mobile systems , 2011, MobiSys '11.

[4]  Hojung Cha,et al.  DevScope: a nonintrusive and online power analysis tool for smartphone hardware components , 2012, CODES+ISSS.

[5]  Miryung Kim,et al.  An Empirical Study of API Stability and Adoption in the Android Ecosystem , 2013, 2013 IEEE International Conference on Software Maintenance.

[6]  Marco Zuniga,et al.  NEAT: a novel energy analysis toolkit for free-roaming smartphones , 2014, SenSys.

[7]  Nils Ole Tippenhauer,et al.  Low-complexity Visible Light Networking with LED-to-LED communication , 2012, 2012 IFIP Wireless Days.

[8]  Paramvir Bahl,et al.  Fine-grained power modeling for smartphones using system call tracing , 2011, EuroSys '11.

[9]  Ramesh Govindan,et al.  Estimating Android applications' CPU energy usage via bytecode profiling , 2012, 2012 First International Workshop on Green and Sustainable Software (GREENS).

[10]  Hojung Cha,et al.  AppScope: Application Energy Metering Framework for Android Smartphone Using Kernel Activity Monitoring , 2012, USENIX Annual Technical Conference.

[11]  Frances E. Allen,et al.  Control-flow analysis , 2022 .

[12]  Ken Kennedy,et al.  AS imple, Fast Dominance Algorithm , 1999 .

[13]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[14]  Ramesh Govindan,et al.  Calculating source line level energy information for Android applications , 2013, ISSTA.

[15]  C. A. Lang Programming languages for writing system programs , 1974 .

[16]  Martin Hirzel,et al.  Bursty Tracing: A Framework for Low-Overhead Temporal Profiling , 2001 .

[17]  David J. Lilja,et al.  Measuring computer performance : A practitioner's guide , 2000 .

[18]  Matthias Hauswirth,et al.  Low-overhead memory leak detection using adaptive statistical profiling , 2004, ASPLOS XI.

[19]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[20]  Arun Venkataramani,et al.  Energy consumption in mobile phones: a measurement study and implications for network applications , 2009, IMC '09.