Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3131704.3131705acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
research-article

NavyDroid: Detecting Energy Inefficiency Problems for Smartphone Applications

Published: 23 September 2017 Publication History

Abstract

Many smartphone applications suffer from energy inefficiency problems, but locating these problems is quite difficult and labor-intensive. Automated tools for detecting energy inefficiency bugs have been shown to be effective. Existing approaches generally consist of two parts, namely the simulation part and the monitor part. The simulation part explores an application's state space guided by an application execution model, and the monitor part checks for occurrences of energy inefficiency patterns. However, existing approaches might miss energy inefficiency bugs due to their imprecise application execution models and oversimplified energy inefficiency diagnosis policies. In this paper, we proposed NavyDroid, an approach to diagnosing energy inefficiency problems more effectively. We summarized a comprehensive application execution model from Android specifications and expressed it as a state machine. By considering multiple patterns of wake lock misuses, our approach is able to detect more complex energy bugs caused by wake lock misuses. We implemented NavyDroidon top of Java Pathfinder (JPF) and applied it to real-world applications. We evaluated NavyDroid with 17 real-world Android applications, and NavyDroid located more energy inefficiency bugs in these applications than the existing work E-GreenDroid did. The results of our experiments demonstrate that our approach can effectively locate real energy inefficiency bugs in Android applications, suggesting its effectiveness.

References

[1]
2017. Android Activity Lifecycle. https://developer.android.com/guide/components/activities/activity-lifecycle.html. (2017).
[2]
2017. Android Application Fundamentals. https://developer.android.com/guide/components/fundamentals.html. (2017).
[3]
2017. Android Run. https://sourceforge.net/projects/androidrun/. (2017).
[4]
2017. Android Sensors Usage. https://developer.android.com/guide/topics/sensors/sensors_overview.html. (2017).
[5]
2017. CSipSimple. https://github.com/r3gis3r/CSipSimple. (2017).
[6]
2017. Java Pathfinder Listeners Wiki Page. https://babelfish.arc.nasa.gov/trac/jpf/wiki/devel/listener. (2017).
[7]
2017. Java Pathfinder MJI Wiki Page. https://babelfish.arc.nasa.gov/trac/jpf/wiki/devel/mji. (2017).
[8]
2017. Java Pathfinder Wiki Page. https://babelfish.arc.nasa.gov/trac/jpf/wiki/intro/what_is_jpf. (2017).
[9]
2017. Managing Android Device Awake State. https://developer.android.com/training/scheduling/wakelock.html. (2017).
[10]
2017. PowerManager.WakeLock Class. https://developer.android.com/reference/android/os/PowerManager.WakeLock.html. (2017).
[11]
2017. Tomahawk. https://github.com/tomahawk-player/tomahawk-android. (2017).
[12]
2017. VLC. https://github.com/mstorsjo/vlc-android. (2017).
[13]
Abhijeet Banerjee, Lee Kee Chong, Clément Ballabriga, and Abhik Roychoudhury. 2017. Energypatch: Repairing Resource Leaks to Improve Energy-efficiency of Android Apps. IEEE Transactions on Software Engineering (2017).
[14]
Abhijeet Banerjee, Lee Kee Chong, Sudipta Chattopadhyay, and Abhik Roychoudhury. 2014. Detecting Energy Bugs and Hotspots in Mobile Apps. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE '14). ACM, 588--598.
[15]
Shuai Hao, Ding Li, William G. J. Halfond, and Ramesh Govindan. 2013. Estimating Mobile Application Energy Consumption Using Program Analysis. In Proceedings of the 2013 International Conference on Software Engineering (ICSE '13). IEEE, 92--101.
[16]
Ding Li, Shuai Hao, William G. J. Halfond, and Ramesh Govindan. 2013. Calculating Source Line Level Energy Information for Android Applications. In Proceedings of the 2013 International Symposium on Software Testing and Analysis (ISSTA '13). ACM, 78--89.
[17]
Qiwei Li, Chang Xu, Yepang Liu, Chun Cao, Xiaoxing Ma, and Jian Lü. 2017. CyanDroid: Stable and Effective Energy Inefficiency Diagnosis for Android Apps. Science China Information Sciences 60 (2017), 012104.
[18]
Yepang Liu, Chang Xu, and Shing-Chi Cheung. 2013. Where Has My Battery Gone? Finding Sensor Related Energy Black Holes in Smartphone Applications. In IEEE International Conference on Pervasive Computing and Communications (PerCom'13). IEEE, 2--10.
[19]
Yepang Liu, Chang Xu, Shing-Chi. Cheung, and Jian Lü. 2014. GreenDroid: Automated Diagnosis of Energy Inefficiency for Smartphone Applications. IEEE Transactions on Software Engineering (2014), 911--940.
[20]
Yepang Liu, Chang Xu, Shing-Chi Cheung, and Valerio Terragni. 2016. Understanding and Detecting Wake Lock Misuses for Android Applications. In Proceedings of the 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE '16). ACM, 396--409.
[21]
Xiao Ma, Peng Huang, Xinxin Jin, Pei Wang, Soyeon Park, Dongcai Shen, Yuanyuan Zhou, Lawrence K. Saul, and Geoffrey M. Voelker. 2013. eDoctor: Automatically Diagnosing Abnormal Battery Drain Issues on Smartphones. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI '13). USENIX Association, 57--70.
[22]
Abhinav Pathak, Y. Charlie Hu, and Ming Zhang. 2012. Where is the Energy Spent Inside My App?: Fine Grained Energy Accounting on Smartphones with Eprof. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys '12). ACM, 29--42.
[23]
Abhinav Pathak, Abhilash Jindal, Y. Charlie Hu, and Samuel P. Midkiff. 2012. What is Keeping My Phone Awake?: Characterizing and Detecting No-sleep Energy Bugs in Smartphone Apps. In Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services (MobiSys '12). ACM, 267--280.
[24]
Panagiotis Vekris, Ranjit Jhala, Sorin Lerner, and Yuvraj Agarwal. 2012. Towards Verifying Android Apps for the Absence of No-sleep Energy Bugs. In Proceedings of the 2012 USENIX Conference on Power-Aware Computing and Systems (HotPower'12). USENIX Association.
[25]
Jue Wang, Yepang Liu, Chang Xu, Xiaoxing Ma, and Jian Lü. 2016. E-GreenDroid: Effective Energy Inefficiency Analysis for Android Applications. In Proceedings of the 8th Asia-Pacific Symposium on Internetware. ACM, 71--80.
[26]
Xigui Wang, Xianfeng Li, and Wen Wen. 2014. Wlcleaner: Reducing Energy Waste Caused by Wakelock Bugs at Runtime. In 2014 IEEE 12th International Conference on Dependable, Autonomic and Secure Computing (DASC '14). IEEE, 429--434.
[27]
Lide Zhang, Mark S. Gordon, Robert P. Dick, Z. Morley Mao, Peter Dinda, and Lei Yang. 2012. ADEL: An Automatic Detector of Energy Leaks for Smartphone Applications. In Proceedings of the Eighth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '12). ACM, 363--372.
[28]
Lide Zhang, Birjodh Tiwana, Zhiyun Qian, Zhaoguang Wang, Robert P. Dick, Zhuoqing Morley Mao, and Lei Yang. 2010. Accurate online power estimation and automatic battery behavior based power model generation for smartphones. In 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '10). ACM, 105--114.

Cited By

View all
  • (2023)Combatting Energy Issues for Mobile ApplicationsACM Transactions on Software Engineering and Methodology10.1145/352785132:1(1-44)Online publication date: 13-Feb-2023
  • (2023)A systematic literature review on Android-specific smellsJournal of Systems and Software10.1016/j.jss.2023.111677201:COnline publication date: 1-Jul-2023
  • (2022)Energy inefficiency diagnosis for Android applications: a literature reviewFrontiers of Computer Science10.1007/s11704-021-0532-417:1Online publication date: 8-Aug-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '17: Proceedings of the 9th Asia-Pacific Symposium on Internetware
September 2017
172 pages
ISBN:9781450353137
DOI:10.1145/3131704
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 September 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. energy inefficiency
  2. smartphone application
  3. wake lock

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

Internetware'17

Acceptance Rates

Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Combatting Energy Issues for Mobile ApplicationsACM Transactions on Software Engineering and Methodology10.1145/352785132:1(1-44)Online publication date: 13-Feb-2023
  • (2023)A systematic literature review on Android-specific smellsJournal of Systems and Software10.1016/j.jss.2023.111677201:COnline publication date: 1-Jul-2023
  • (2022)Energy inefficiency diagnosis for Android applications: a literature reviewFrontiers of Computer Science10.1007/s11704-021-0532-417:1Online publication date: 8-Aug-2022
  • (2021)Wake Lock Leak Detection in Android Apps Using Multi-Layer PerceptronElectronics10.3390/electronics1018221110:18(2211)Online publication date: 9-Sep-2021
  • (2021)A GUI Based Approach to Detect Energy Bugs in Android Applications2021 16th International Conference on Emerging Technologies (ICET)10.1109/ICET54505.2021.9689870(1-6)Online publication date: 22-Dec-2021
  • (2021)Detection of Energy Bugs in Android Applications: A Systematic Literature Review2021 International Conference on Frontiers of Information Technology (FIT)10.1109/FIT53504.2021.00012(7-12)Online publication date: Dec-2021
  • (2021)Detecting Wake Lock Leaks in Android Apps Using Machine LearningIEEE Access10.1109/ACCESS.2021.31102449(125753-125767)Online publication date: 2021
  • (2021)Analyzing Energy Leaks of Android Applications Using Event-BMobile Networks and Applications10.1007/s11036-021-01764-y26:3(1329-1338)Online publication date: 23-May-2021
  • (2020)TANDEM: A Taxonomy and a Dataset of Real-World Performance BugsIEEE Access10.1109/ACCESS.2020.30009288(107214-107228)Online publication date: 2020

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media