Abstract
The use of powerful mobile devices, like smartphones, tablets and laptops, is changing the way programmers develop software. While in the past the primary goal to optimize software was the run time optimization, nowadays there is a growing awareness of the need to reduce energy consumption.
This paper presents a technique and a tool to detect anomalous energy consumption in Android applications, and to relate it directly with the source code of the application.
We propose a dynamically calibrated model for energy consumption for the Android ecosystem that supports different devices. The model is used as an API to monitor the application execution: first, we instrument the application source code so that we can relate energy consumption to the application source code; second, we use a statistical approach, based on fault-localization techniques, to localize abnormal energy consumption in the source code.
This work is integrated in the project GreenSSCM - Green Software for Space Missions Control, a project financed by the Innovation Agency, SA, Northern Regional Operational Programme, Financial Incentive Grant Agreement under the Incentive Research and Development System, Project No. 38973. The last author is supported by CAPES through a Programa Professor Visitante do Exterior (PVE) grant.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Jones, N.D.: An introduction to partial evaluation. ACM Comput. Surv. 28(3), 480–503 (1996)
Acar, U.A., Blelloch, G.E., Harper, R.: Adaptive functional programming. ACM Trans. Program. Lang. Syst. 28(6), 990–1034 (2006)
Krall, A.: Efficient javavm just-in-time compilation. In: International Conference on Parallel Architectures and Compilation Techniques, pp. 205–212 (1998)
Wadler, P.: Deforestation: transforming programs to eliminate trees. Theoretical Computer Science 73, 231–248 (1990)
Saraiva, J., Swierstra, D.: Data Structure Free Compilation. In: Jähnichen, S. (ed.) CC 1999. LNCS, vol. 1575, pp. 1–17. Springer, Heidelberg (1999)
Fernandes, J.P., Saraiva, J., Seidel, D., Voigtländer, J.: Strictification of circular programs. In: Proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2011, pp. 131–140. ACM (2011)
Pinto, G., Castor, F., Liu, Y.D.: Mining questions about software energy consumption. In: Proceedings of the 11th Working Conference on Mining Software Repositories, MSR 2014, pp. 22–31. ACM, New York (2014)
Carção, T.: Measuring and visualizing energy consumption within software code. In: Proceedings of the 2014 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC. IEEE (to appear, 2014)
Zhang, L., Tiwana, B., Qian, Z., Wang, Z., Dick, R.P., Mao, Z.M., Yang, L.: Accurate Online Power Estimation and Automatic Battery Behavior Based Power Model Generation for Smartphones. In: Proc. Int. Conf. Hardware/Software Codesign and System Synthesis (October 2010)
Dong, M., Zhong, L.: Self-Constructive High-Rate System Energy Modeling for Battery-Powered Mobile Systems. In: Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services, MobiSys 2011 (2011)
Kjaergaard, M.B., Blunck, H.: Unsupervised Power Profiling for Mobile Devices. In: 8th International ICST Conference, Copenhagen, Denmark (December 2011)
Yoon, C., Kim, D., Jung, W., Kang, C., Cha, H.: AppScope: Application Energy Metering Framework for Android Smartphones using Kernel Activity Monitoring. In: USENIX Annual Technical Conference (USENIX ATC 2012) (June 2012)
Jung, W., Kang, C., Yoon, C., Kim, D., Cha, H.: DevScope: A Nonintrusive and Online Power Analysis Tool for Smartphone Hardware Components. In: International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS 2012) (October 2012)
Runciman, C., Röjemo, N.: Heap Profiling for Space Efficiency. In: Launchbury, J., Sheard, T., Meijer, E. (eds.) AFP 1996. LNCS, vol. 1129, pp. 159–183. Springer, Heidelberg (1996)
Machado, P., Campos, J., Abreu, R.: MZoltar: Automatic Debugging of Android Applications. In: First International Workshop on Software Development Lifecycle for Mobile (DeMobile), Co-located with European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), Saint Petersburg, Russia (2013)
Jung, W., Kim, K., Cha, H.: UserScope: A Fine-grained Framework for Collecting Energy-related Smartphone User Contexts. In: IEEE International Conference on Parallel and Distributed Systems (ICPADS 2013) (December 2013)
Kim, D., Jung, W., Cha, H.: Runtime Power Estimation of Mobile AMOLED Displays. In: Design, Automation & Test Europe (DATE 2013) (March 2013)
Carroll, A., Heiser, G.: An Analysis of Power Consumption in a Smartphone. In: USENIXATC 2010 Proceedings of the 2010 USENIX Conference on USENIX Annual Technical Conference (2010)
Zhang, L., Gordon, M.S., Dick, R.P., Mao, Z.M., Dinda, P., Yang, L.: ADEL: An Automatic Detector of Energy Leaks for Smartphone Applications. In: IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (2012)
Ding, F., Xia, F., Zhang, W., Zhao, X., Ma, C.: Monitoring Energy Consumption of Smartphones. In: Internet of Things (iThings/CPSCom), 2011 International Conference on and 4th International Conference on Cyber, Physical and Social Computing (October 2012)
Corral, L., Georgiev, A.B., Sillitti, A., Succi, G.: Method Reallocation to Reduce Energy Consumption: An implementation in Android OS. In: Symposium on Applied Computing 2014 (2014)
Noureddine, A., Rouvoy, R., Seinturier, L.: Unit Testing of Energy Consumption of Software Libraries. In: Symposium on Applied Computing 2014 (2014)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Couto, M., Carção, T., Cunha, J., Fernandes, J.P., Saraiva, J. (2014). Detecting Anomalous Energy Consumption in Android Applications. In: Quintão Pereira, F.M. (eds) Programming Languages. SBLP 2014. Lecture Notes in Computer Science, vol 8771. Springer, Cham. https://doi.org/10.1007/978-3-319-11863-5_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-11863-5_6
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11862-8
Online ISBN: 978-3-319-11863-5
eBook Packages: Computer ScienceComputer Science (R0)