Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3302424.3303956acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article
Public Access

A Lightweight Framework for Fine-Grained Lifecycle Control of Android Applications

Published: 25 March 2019 Publication History

Abstract

The lifecycle of Android apps is dynamically managed by the system in an ad hoc manner, which leads to apps' abusing lifecycle entry points to automatically start up and gaming the priority-based memory management mechanism to evade being killed. Such apps exhibit diehard behaviors that keep them long-running in the background, resulting in excessive battery consumption and device performance degradation. Existing battery-saving features are far from being effective in restricting diehard behaviors, due to the lack of systematic, fine-grained control of app lifecycle.
In this paper, we propose the Application Lifecycle Graph (ALG), a holistic modeling of system-wide app lifecycle. We present a lightweight runtime framework that builds ALG and utilizes it to realize fine-grained lifecycle control of apps. The framework exposes APIs that provide ALG information and lifecycle control capabilities to developers and device vendors, empowering them to leverage the framework to implement rich functionalities. Evaluation results show that the proposed framework is competent and incurs low performance overhead. It introduces 4.5MB additional memory usage on average, and approximately 5% and 0.2% CPU usage during system booting and at idle state.

References

[1]
Advanced task manager. https://play.google.com/store/apps/details?id=mobi.infolife.taskmanager.
[2]
Android authority forums. https://www.androidauthority.com/community/.
[3]
Android banking malware whitelists itself to stay connected with attackers. https://www.symantec.com/connect/blogs/android-banking-malware-whitelists-itself-stay-connected-attackers.
[4]
Android forums. https://androidforums.com/.
[5]
Android forums at androidcentral. https://forums.androidcentral.com/.
[6]
App programming guide for ios --- background execution. https://goo.gl/jryM9q.
[7]
Application fundamentals. https://developer.android.com/guide/components/fundamentals.html.
[8]
Background optimizations. https://developer.android.com/topic/performance/background-optimization.html.
[9]
Battery historian. https://github.com/google/battery-historian.
[10]
Dashboards. https://developer.android.com/about/dashboards/.
[11]
Es task manager (task killer). https://play.google.com/store/apps/details?id=com.estrongs.android.taskmanager.
[12]
Hello daemon. https://github.com/xingda920813/HelloDaemon.
[13]
How to turn off smartphone apps that track you in the background. http://www.ibtimes.com/how-turn-smartphone-apps-track-you-background-1657868.
[14]
Launch-time performance. https://developer.android.com/topic/performance/launch-time.html.
[15]
Optimizing for doze and app standby. https://developer.android.com/training/monitoring-device-state/doze-standby.html.
[16]
Privacy issues: Data abuse on certain mobile apps uncovered. https://www.sciencedaily.com/releases/2012/07/120705133714.htm.
[17]
Processes and application life cycle. https://developer.android.com/guide/topics/processes/process-lifecycle.html.
[18]
Processes and threads. https://developer.android.com/guide/components/processes-and-threads.html.
[19]
Ram master -- memory optimizer. https://play.google.com/store/apps/details?id=com.speedbooster.optimizer.
[20]
Smart cooler. https://play.google.com/store/apps/details?id=com.cooler.smartcooler.
[21]
Spark -- live random chat. https://play.google.com/store/apps/details?id=com.video.chat.spark.
[22]
Stack overflow android questions. https://stackoverflow.com/questions/tagged/android.
[23]
Super antivirus cleaner & booster. https://play.google.com/store/apps/details?id=com.oneapp.max.
[24]
These 5 apps are killing your battery. https://www.androidpit.com/battery-draining-apps.
[25]
Who lives and who dies? process priorities on android. https://medium.com/google-developers/who-lives-and-who-dies-process-priorities-on-android-cb151f39044f.
[26]
Xda developers. https://forum.xda-developers.com/android/software.
[27]
Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., and Mcdaniel, P. Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. In Proc. of the ACM PLDI (2014).
[28]
Chen, X., Ding, N., Jindal, A., Hu, Y. C., Gupta, M., and Van-Nithamby, R. Smartphone energy drain in the wild: Analysis and implications. In Proc. of the ACM SIGMETRICS (2015).
[29]
Chen, X., Jindal, A., Ding, N., Hu, Y. C., Gupta, M., and Van-Nithamby, R. Smartphone background activities in the wild: Origin, energy drain, and optimization. In Proc. of the ACM MobiCom (2015).
[30]
Fratantonio, Y., Qian, C., Chung, S. P., and Lee, W. Cloak and dagger: From two permissions to complete control of the ui feedback loop. In Proc. of the IEEE S&P (2017).
[31]
Ma, X., Huang, P., Jin, X., Wang, P., Park, S., Shen, D., Zhou, Y., Saul, L. K., and Voelker, G. M. Edoctor: Automatically diagnosing abnormal battery drain issues on smartphones. In Proc. of the USENIX NSDI (2013).
[32]
Martins, M., Cappos, J., and Fonseca, R. Selectively taming background android apps to improve battery lifetime. In Proc. of the USENIX ATC (2015).
[33]
Pathak, A., Jindal, A., Hu, Y. C., and Midriff, S. P. What is keeping my phone awake? characterizing and detecting no-sleep energy bugs in smartphone apps. In Proc. of the ACM MobiSys (2012).
[34]
Shao, Y., Ott, J., Jia, Y. J., Qian, Z., and Mao, Z. M. The misuse of android unix domain sockets and security implications. In Proc. of the ACM CCS (2016).
[35]
Vekris, P., Jhala, R., Lerner, S., and Agarwal, Y. Towards verifying android apps for the absence of no-sleep energy bugs. In Proc. of the USENIX HotPower (2012).
[36]
Viennot, N., Garcia, E., and Nieh, J. A measurement study of google play. In Proc. of the ACM SIGMETRICS (2014).
[37]
Wei, F., Li, Y., Roy, S., Ou, X., and Zhou, W. Deep ground truth analysis of current android malware. In In Proc. of DIMVA (2017).

Cited By

View all
  • (2023)Virtual Device Farms for Mobile App Testing at Scale: A Pursuit for Fidelity, Efficiency, and AccessibilityProceedings of the 29th Annual International Conference on Mobile Computing and Networking10.1145/3570361.3613259(1-17)Online publication date: 2-Oct-2023
  • (2023)Hot Patching Hot Fixes: Reflection and Perspectives2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00021(1781-1786)Online publication date: 11-Sep-2023
  • (2021)Tool Support for Green Android DevelopmentSoftware Sustainability10.1007/978-3-030-69970-3_7(153-182)Online publication date: 6-Oct-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroSys '19: Proceedings of the Fourteenth EuroSys Conference 2019
March 2019
714 pages
ISBN:9781450362818
DOI:10.1145/3302424
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 March 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Application behaviors
  2. Lifecycle management
  3. Mobile application analysis
  4. Runtime monitoring

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

EuroSys '19
Sponsor:
EuroSys '19: Fourteenth EuroSys Conference 2019
March 25 - 28, 2019
Dresden, Germany

Acceptance Rates

Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)114
  • Downloads (Last 6 weeks)19
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Virtual Device Farms for Mobile App Testing at Scale: A Pursuit for Fidelity, Efficiency, and AccessibilityProceedings of the 29th Annual International Conference on Mobile Computing and Networking10.1145/3570361.3613259(1-17)Online publication date: 2-Oct-2023
  • (2023)Hot Patching Hot Fixes: Reflection and Perspectives2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00021(1781-1786)Online publication date: 11-Sep-2023
  • (2021)Tool Support for Green Android DevelopmentSoftware Sustainability10.1007/978-3-030-69970-3_7(153-182)Online publication date: 6-Oct-2021
  • (2020)A Model-based approach to assist Android Activity Lifecycle Development2020 4th International Symposium on Multidisciplinary Studies and Innovative Technologies (ISMSIT)10.1109/ISMSIT50672.2020.9254687(1-12)Online publication date: 22-Oct-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media