Advertisement

Detecting Anomalous Energy Consumption in Android Applications

  • Marco Couto
  • Tiago Carção
  • Jácome Cunha
  • João Paulo Fernandes
  • João Saraiva
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8771)

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.

Keywords

Green Computing Energy-aware Software Source Code Analysis 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Jones, N.D.: An introduction to partial evaluation. ACM Comput. Surv. 28(3), 480–503 (1996)CrossRefGoogle Scholar
  2. 2.
    Acar, U.A., Blelloch, G.E., Harper, R.: Adaptive functional programming. ACM Trans. Program. Lang. Syst. 28(6), 990–1034 (2006)CrossRefGoogle Scholar
  3. 3.
    Krall, A.: Efficient javavm just-in-time compilation. In: International Conference on Parallel Architectures and Compilation Techniques, pp. 205–212 (1998)Google Scholar
  4. 4.
    Wadler, P.: Deforestation: transforming programs to eliminate trees. Theoretical Computer Science 73, 231–248 (1990)CrossRefzbMATHMathSciNetGoogle Scholar
  5. 5.
    Saraiva, J., Swierstra, D.: Data Structure Free Compilation. In: Jähnichen, S. (ed.) CC 1999. LNCS, vol. 1575, pp. 1–17. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    Kjaergaard, M.B., Blunck, H.: Unsupervised Power Profiling for Mobile Devices. In: 8th International ICST Conference, Copenhagen, Denmark (December 2011)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    Kim, D., Jung, W., Cha, H.: Runtime Power Estimation of Mobile AMOLED Displays. In: Design, Automation & Test Europe (DATE 2013) (March 2013)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    Noureddine, A., Rouvoy, R., Seinturier, L.: Unit Testing of Energy Consumption of Software Libraries. In: Symposium on Applied Computing 2014 (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Marco Couto
    • 1
    • 2
    • 3
  • Tiago Carção
    • 1
    • 2
    • 3
  • Jácome Cunha
    • 1
    • 2
    • 3
  • João Paulo Fernandes
    • 1
    • 2
    • 3
  • João Saraiva
    • 1
    • 2
    • 3
  1. 1.HASLab, INESC TECUniversidade do MinhoPortugal
  2. 2.CIICESI, ESTGFInstituto Politécnico do PortoPortugal
  3. 3.RELEASEUniversidade da Beira InteriorPortugal

Personalised recommendations