Skip to main content
Erschienen in: Empirical Software Engineering 2/2019

04.06.2018

What can Android mobile app developers do about the energy consumption of machine learning?

verfasst von: Andrea McIntosh, Safwat Hassan, Abram Hindle

Erschienen in: Empirical Software Engineering | Ausgabe 2/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Machine learning is a popular method of learning functions from data to represent and to classify sensor inputs, multimedia, emails, and calendar events. Smartphone applications have been integrating more and more intelligence in the form of machine learning. Machine learning functionality now appears on most smartphones as voice recognition, spell checking, word disambiguation, face recognition, translation, spatial reasoning, and even natural language summarization. Excited app developers who want to use machine learning on mobile devices face one serious constraint that they did not face on desktop computers or cloud virtual machines: the end-user’s mobile device has limited battery life, thus computationally intensive tasks can harm end users’ phone availability by draining batteries of their stored energy. Currently, there are few guidelines for developers who want to employ machine learning on mobile devices yet are concerned about software energy consumption of their applications. In this paper, we combine empirical measurements of different machine learning algorithm implementations with complexity theory to provide concrete and theoretically grounded recommendations to developers who want to employ machine learning on smartphones. We conclude that some implementations of algorithms, such as J48, MLP, and SMO, do generally perform better than others in terms of energy consumption and accuracy, and that energy consumption is well-correlated to algorithmic complexity. However, to achieve optimal results a developer must consider their specific application as many factors — dataset size, number of data attributes, whether the model will require updating, etc. — affect which machine learning algorithm and implementation will provide the best results.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Literatur
Zurück zum Zitat Abdulsalam H, Skillicorn DB, Martin P (2011) Classification using streaming random forests. IEEE Trans Knowl Data Eng 23(1):22–36CrossRef Abdulsalam H, Skillicorn DB, Martin P (2011) Classification using streaming random forests. IEEE Trans Knowl Data Eng 23(1):22–36CrossRef
Zurück zum Zitat Aggarwal K, Hindle A, Stroulia E (2015b) Greenadvisor: a tool for analyzing the impact of software evolution on energy consumption. In: 31St IEEE international conference on software maintenance and evolution. IEEE computer society Aggarwal K, Hindle A, Stroulia E (2015b) Greenadvisor: a tool for analyzing the impact of software evolution on energy consumption. In: 31St IEEE international conference on software maintenance and evolution. IEEE computer society
Zurück zum Zitat Aha D, Kibler D (1991) Instance-based learning algorithms. Mach Learn 6:37–66MATH Aha D, Kibler D (1991) Instance-based learning algorithms. Mach Learn 6:37–66MATH
Zurück zum Zitat Banerjee A, Chong LK, Chattopadhyay S, Roychoudhury A (2014) Detecting energy bugs and hotspots in mobile apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp 588–598 Banerjee A, Chong LK, Chattopadhyay S, Roychoudhury A (2014) Detecting energy bugs and hotspots in mobile apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp 588–598
Zurück zum Zitat Bhattacharya S, Lane ND (2016) Sparsification and separation of deep learning layers for constrained resource inference on wearables. In: Proceedings of the 14th ACM Conference on Embedded Network Sensor Systems CD-ROM, SenSys ’16. ACM, New York, pp 176–189. https://doi.org/10.1145/2994551.2994564 Bhattacharya S, Lane ND (2016) Sparsification and separation of deep learning layers for constrained resource inference on wearables. In: Proceedings of the 14th ACM Conference on Embedded Network Sensor Systems CD-ROM, SenSys ’16. ACM, New York, pp 176–189. https://​doi.​org/​10.​1145/​2994551.​2994564
Zurück zum Zitat Bottou L (1998) Online Algorithms and Stochastic Approximations. Cambridge University Press, CambridgeMATH Bottou L (1998) Online Algorithms and Stochastic Approximations. Cambridge University Press, CambridgeMATH
Zurück zum Zitat Chowdhury SA, Hindle A (2016a) Greenoracle: Estimating software energy consumption with energy measurement corpora. In: Proceedings of the 13th International Conference on Mining Software Repositories, MSR ’16. ACM, New York, pp 49–60. https://doi.org/10.1145/2901739.2901763 Chowdhury SA, Hindle A (2016a) Greenoracle: Estimating software energy consumption with energy measurement corpora. In: Proceedings of the 13th International Conference on Mining Software Repositories, MSR ’16. ACM, New York, pp 49–60. https://​doi.​org/​10.​1145/​2901739.​2901763
Zurück zum Zitat Di Nucci D, Palomba F, Prota A, Panichella A, Zaidman A, De Lucia A (2017) Software-based energy profiling of android apps: simple, efficient and reliable?. In: 2017 IEEE 24th international conference on Software analysis, evolution and reengineering (SANER). IEEE, pp 103–114 Di Nucci D, Palomba F, Prota A, Panichella A, Zaidman A, De Lucia A (2017) Software-based energy profiling of android apps: simple, efficient and reliable?. In: 2017 IEEE 24th international conference on Software analysis, evolution and reengineering (SANER). IEEE, pp 103–114
Zurück zum Zitat Gui J, Mcilroy S, Nagappan M, Halfond WGJ (2015) Truth in advertising: The hidden cost of mobile ads for software developers. In: 37Th IEEE/ACM international conference on software engineering, ICSE 2015, florence, Italy. IEEE, vol 1, pp 100–110. https://doi.org/10.1109/ICSE.2015.32 Gui J, Mcilroy S, Nagappan M, Halfond WGJ (2015) Truth in advertising: The hidden cost of mobile ads for software developers. In: 37Th IEEE/ACM international conference on software engineering, ICSE 2015, florence, Italy. IEEE, vol 1, pp 100–110. https://​doi.​org/​10.​1109/​ICSE.​2015.​32
Zurück zum Zitat Gui J, Li D, Wan M, Halfond WG (2016) Lightweight measurement and estimation of mobile ad energy consumption. In: 2016 IEEE/ACM 5th international workshop on Green and sustainable software (GREENS). IEEE, pp 1–7 Gui J, Li D, Wan M, Halfond WG (2016) Lightweight measurement and estimation of mobile ad energy consumption. In: 2016 IEEE/ACM 5th international workshop on Green and sustainable software (GREENS). IEEE, pp 1–7
Zurück zum Zitat Jabbarvand R, Sadeghi A, Garcia J, Malek S, Ammann P (2015) Ecodroid: an approach for energy-based ranking of android apps. In: Proceedings of the Fourth International Workshop on Green and Sustainable Software. IEEE Press, pp 8–14 Jabbarvand R, Sadeghi A, Garcia J, Malek S, Ammann P (2015) Ecodroid: an approach for energy-based ranking of android apps. In: Proceedings of the Fourth International Workshop on Green and Sustainable Software. IEEE Press, pp 8–14
Zurück zum Zitat John GH, Langley P (1995) Estimating continuous distributions in bayesian classifiers. In: Eleventh conference on uncertainty in artificial intelligence. Morgan kaufmann, pp 338–345 John GH, Langley P (1995) Estimating continuous distributions in bayesian classifiers. In: Eleventh conference on uncertainty in artificial intelligence. Morgan kaufmann, pp 338–345
Zurück zum Zitat Li D, Hao S, Gui J, Halfond WGJ (2014) An empirical study of the energy consumption of android applications. In: 30Th IEEE international conference on software maintenance and evolution, victoria, BC. IEEE Computer Society, pp 121–130. https://doi.org/10.1109/ICSME.2014.34 Li D, Hao S, Gui J, Halfond WGJ (2014) An empirical study of the energy consumption of android applications. In: 30Th IEEE international conference on software maintenance and evolution, victoria, BC. IEEE Computer Society, pp 121–130. https://​doi.​org/​10.​1109/​ICSME.​2014.​34
Zurück zum Zitat Li D, Lyu Y, Gui J, Halfond WGJ (2016) Automated energy optimization of http requests for mobile applications. In: Proceedings of the 38th International Conference on Software Engineering, ICSE ’16. ACM, New York, pp 249–260. https://doi.org/10.1145/2884781.2884867 Li D, Lyu Y, Gui J, Halfond WGJ (2016) Automated energy optimization of http requests for mobile applications. In: Proceedings of the 38th International Conference on Software Engineering, ICSE ’16. ACM, New York, pp 249–260. https://​doi.​org/​10.​1145/​2884781.​2884867
Zurück zum Zitat Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Oliveto R, Di Penta M, Poshyvanyk D (2014) Mining energy-greedy api usage patterns in android apps: an empirical study. In: Proceedings of the 11th Working Conference on Mining Software Repositories, MSR 2014. ACM, New York, pp 2–11. https://doi.org/10.1145/2597073.2597085 Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Oliveto R, Di Penta M, Poshyvanyk D (2014) Mining energy-greedy api usage patterns in android apps: an empirical study. In: Proceedings of the 11th Working Conference on Mining Software Repositories, MSR 2014. ACM, New York, pp 2–11. https://​doi.​org/​10.​1145/​2597073.​2597085
Zurück zum Zitat Linares-Vásquez M, Bavota G, Cárdenas CEB, Oliveto R, Di Penta M, Poshyvanyk D (2015) Optimizing energy consumption of guis in android apps: a multi-objective approach. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, New York, pp 143–154. https://doi.org/10.1145/2786805.2786847 Linares-Vásquez M, Bavota G, Cárdenas CEB, Oliveto R, Di Penta M, Poshyvanyk D (2015) Optimizing energy consumption of guis in android apps: a multi-objective approach. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, New York, pp 143–154. https://​doi.​org/​10.​1145/​2786805.​2786847
Zurück zum Zitat Linares-Vásquez M, Vendome C, Tufano M, Poshyvanyk D (2017) How developers micro-optimize android apps. J Syst Softw 130:1–23CrossRef Linares-Vásquez M, Vendome C, Tufano M, Poshyvanyk D (2017) How developers micro-optimize android apps. J Syst Softw 130:1–23CrossRef
Zurück zum Zitat Manotas I, Pollock L, Clause J (2014) Seeds: a software engineer’s energy-optimization decision support framework. In: Proceedings of the 36th International Conference on Software Engineering, ICSE 2014. ACM, New York, pp 503–514. https://doi.org/10.1145/2568225.2568297 Manotas I, Pollock L, Clause J (2014) Seeds: a software engineer’s energy-optimization decision support framework. In: Proceedings of the 36th International Conference on Software Engineering, ICSE 2014. ACM, New York, pp 503–514. https://​doi.​org/​10.​1145/​2568225.​2568297
Zurück zum Zitat Manotas I, Bird C, Zhang R, Shepherd D, Jaspan C, Sadowski C, Pollock L, Clause J (2016) An empirical study of practitioners’ perspectives on green software engineering. In: Proceedings of the 38th International Conference on Software Engineering, ICSE ’16. ACM, New York, pp 237–248. https://doi.org/10.1145/2884781.2884810 Manotas I, Bird C, Zhang R, Shepherd D, Jaspan C, Sadowski C, Pollock L, Clause J (2016) An empirical study of practitioners’ perspectives on green software engineering. In: Proceedings of the 38th International Conference on Software Engineering, ICSE ’16. ACM, New York, pp 237–248. https://​doi.​org/​10.​1145/​2884781.​2884810
Zurück zum Zitat Mizutani E, Dreyfus SE (2001) On complexity analysis of supervised mlp-learning for algorithmic comparisons. In: Neural networks. IEEE, vol 1, pp 347–352 Mizutani E, Dreyfus SE (2001) On complexity analysis of supervised mlp-learning for algorithmic comparisons. In: Neural networks. IEEE, vol 1, pp 347–352
Zurück zum Zitat Pathak A, Hu YC, Zhang M (2011a) Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices. In: Proceedings of the 10th ACM Workshop on Hot Topics in Networks, HotNets-X, pp 5:1–5:6 Pathak A, Hu YC, Zhang M (2011a) Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices. In: Proceedings of the 10th ACM Workshop on Hot Topics in Networks, HotNets-X, pp 5:1–5:6
Zurück zum Zitat Pereira R, Couto M, Saraiva Ja, Cunha J, Fernandes J a P (2016) The influence of the java collection framework on overall energy consumption. In: Proceedings of the 5th International Workshop on Green and Sustainable Software, GREENS ’16, pp 15–21 Pereira R, Couto M, Saraiva Ja, Cunha J, Fernandes J a P (2016) The influence of the java collection framework on overall energy consumption. In: Proceedings of the 5th International Workshop on Green and Sustainable Software, GREENS ’16, pp 15–21
Zurück zum Zitat Saborido R, Beltrame G, Khomh F, Alba E, Antoniol G (2016) Optimizing user experience in choosing android applications. In: 2016 IEEE 23Rd international conference on software analysis, evolution, and reengineering (SANER), vol 1, pp 438–448. https://doi.org/10.1109/SANER.2016.64 Saborido R, Beltrame G, Khomh F, Alba E, Antoniol G (2016) Optimizing user experience in choosing android applications. In: 2016 IEEE 23Rd international conference on software analysis, evolution, and reengineering (SANER), vol 1, pp 438–448. https://​doi.​org/​10.​1109/​SANER.​2016.​64
Zurück zum Zitat Sahin C, Tornquist P, Mckenna R, Pearson Z, Clause J (2014) How does code obfuscation impact energy usage?. In: ICSME. IEEE Computer Society, pp 131–140 Sahin C, Tornquist P, Mckenna R, Pearson Z, Clause J (2014) How does code obfuscation impact energy usage?. In: ICSME. IEEE Computer Society, pp 131–140
Zurück zum Zitat Sahin C, Pollock L, Clause J (2016a) From benchmarks to real apps: Exploring the energy impacts of performance-directed changes. J Syst Softw 117:307–316CrossRef Sahin C, Pollock L, Clause J (2016a) From benchmarks to real apps: Exploring the energy impacts of performance-directed changes. J Syst Softw 117:307–316CrossRef
Zurück zum Zitat Sahin C, Wan M, Tornquist P, McKenna R, Pearson Z, Halfond WG, Clause J (2016b) How does code obfuscation impact energy usage? J Softw Evol Process 28(7):565–588CrossRef Sahin C, Wan M, Tornquist P, McKenna R, Pearson Z, Halfond WG, Clause J (2016b) How does code obfuscation impact energy usage? J Softw Evol Process 28(7):565–588CrossRef
Zurück zum Zitat Selby JWA (2011) Unconventional applications of compiler analysis. Ph.D. thesis, University of Waterloo Selby JWA (2011) Unconventional applications of compiler analysis. Ph.D. thesis, University of Waterloo
Zurück zum Zitat Keerthi SS, Shevade SK, Bhattacharyya C, Murthy KRK (2001) Improvements to platt’s smo algorithm for svm classifier design. Neural Comput 13(3):637–649CrossRefMATH Keerthi SS, Shevade SK, Bhattacharyya C, Murthy KRK (2001) Improvements to platt’s smo algorithm for svm classifier design. Neural Comput 13(3):637–649CrossRefMATH
Zurück zum Zitat Su J, Zhang H (2006) A fast decision tree learning algorithm. In: American association for artificial intelligence, vol 6, pp 500–505 Su J, Zhang H (2006) A fast decision tree learning algorithm. In: American association for artificial intelligence, vol 6, pp 500–505
Zurück zum Zitat Witten IH, Frank E (2011) Data Mining: Practical machine learning tools and techniques, 3rd edn. Morgan Kaufmann, BurlingtonMATH Witten IH, Frank E (2011) Data Mining: Practical machine learning tools and techniques, 3rd edn. Morgan Kaufmann, BurlingtonMATH
Zurück zum Zitat Yang Y, Zhang J, Kisiel B (2003) A scalability analysis of classifiers in text categorization. In: Proceedings of the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval. ACM, pp 96–103 Yang Y, Zhang J, Kisiel B (2003) A scalability analysis of classifiers in text categorization. In: Proceedings of the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval. ACM, pp 96–103
Metadaten
Titel
What can Android mobile app developers do about the energy consumption of machine learning?
verfasst von
Andrea McIntosh
Safwat Hassan
Abram Hindle
Publikationsdatum
04.06.2018
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 2/2019
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-018-9629-2

Weitere Artikel der Ausgabe 2/2019

Empirical Software Engineering 2/2019 Zur Ausgabe