{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,14]],"date-time":"2026-01-14T22:54:00Z","timestamp":1768431240399,"version":"3.49.0"},"reference-count":29,"publisher":"MDPI AG","issue":"19","license":[{"start":{"date-parts":[[2024,10,7]],"date-time":"2024-10-07T00:00:00Z","timestamp":1728259200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Currently, people spend a lot of time using their mobile devices. With such ubiquity of mobile devices in our daily life, battery capacity and quality are of utmost importance. Running software applications (called apps) are one of the major factors influencing the power consumption in mobile devices. In order to meet user needs, mobile apps are becoming inherently complex and resource greedy. Therefore, fulfilling these requirements at the pace imposed by the market may degrade software construction quality and insert so-called energy code smells: bad patterns in the source code of an app that indicate a deeper problem and adversely affect power consumption. This work proposes a developer-oriented framework for identifying and fixing patterns via analyzing different application code flavors in a user-driven test scenario. A special app was designed in order to validate the Android implementation of the proposed methodology. The study results have shown significant improvement regarding energy efficiency after correcting one or more energy code smells, with a 4 to 30 percent decrease in battery drain. Additionally, the power consumption signature term is defined in the context of mobile applications. This paper presents a developer-oriented framework for assessing power consumption in mobile applications. Our key contributions include identifying significant energy code smells, demonstrating their impact on power consumption, and providing a toolset for developers to improve energy efficiency.<\/jats:p>","DOI":"10.3390\/s24196469","type":"journal-article","created":{"date-parts":[[2024,10,8]],"date-time":"2024-10-08T12:02:10Z","timestamp":1728388930000},"page":"6469","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["A Developer-Oriented Framework for Assessing Power Consumption in Mobile Applications: Android Energy Smells Case Study"],"prefix":"10.3390","volume":"24","author":[{"given":"Claudiu","family":"Groza","sequence":"first","affiliation":[{"name":"Faculty of Automation and Computers, Polyethnic University of Timisoara, 300006 Timisoara, Romania"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-1213-2836","authenticated-orcid":false,"given":"Apostol","family":"Dumitru-Cristian","sequence":"additional","affiliation":[{"name":"Faculty of Automation and Computers, Polyethnic University of Timisoara, 300006 Timisoara, Romania"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3394-385X","authenticated-orcid":false,"given":"Marius","family":"Marcu","sequence":"additional","affiliation":[{"name":"Faculty of Automation and Computers, Polyethnic University of Timisoara, 300006 Timisoara, Romania"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6495-3239","authenticated-orcid":false,"given":"Razvan","family":"Bogdan","sequence":"additional","affiliation":[{"name":"Faculty of Automation and Computers, Polyethnic University of Timisoara, 300006 Timisoara, Romania"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2024,10,7]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"5273","DOI":"10.1073\/pnas.1302988110","article-title":"No Moore\u2019s Law for Batteries","volume":"110","author":"Schlachter","year":"2013","journal-title":"Proc. Natl. Acad. Sci. USA"},{"key":"ref_2","unstructured":"(2022, January 02). Time Mobility Poll Results. Available online: https:\/\/www.qualcomm.com\/content\/dam\/qcomm-martech\/dm-assets\/documents\/TimeMobilityPollResults.pdf."},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Hecht, G., Benomar, O., Rouvoy, R., Moha, N., and Duchien, L. (2015, January 9\u201313). Tracking the software quality of android applications along their evolution (t). Proceedings of the 30th IEEE\/ACM International Conference on Automated Software Engineering (ASE), Lincoln, NE, USA.","DOI":"10.1109\/ASE.2015.46"},{"key":"ref_4","unstructured":"Vetro, A., Ardito, L., Procaccianti, G., and Morisio, M. (2013, January 24\u201329). Definition, implementation and validation of energy code smells: An exploratory study on an embedded system. Proceedings of the ENERGY 2013: The 3rd International Conference on Smart Grids, Green Communications and IT Energy-Aware Technologies, Lisbon, Portugal."},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Zeller, A. (2007, January 23\u201325). The future of programming environments: Integration, synergy, and assistance. Proceedings of the Future of Software Engineering (FOSE\u201907), Minneapolis, MN, USA.","DOI":"10.1109\/FOSE.2007.31"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Carette, A., Younes, M.A.A., Hecht, G., Moha, N., and Rouvoy, R. (2017, January 21\u201324). Investigating the energy impact of android smells. Proceedings of the IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), Taipa, Macao.","DOI":"10.1109\/SANER.2017.7884614"},{"key":"ref_7","unstructured":"Linares-V\u00e1squez, M., Bavota, G., Bernal-C\u00e1rdenas, C., Oliveto, R., Di Penta, M., and Poshyvanyk, D. (June, January 31). Mining energy-greedy api usage patterns in android apps: An empirical study. Proceedings of the 11th Working Conference on Mining Software Repositories, Hyderabad, India."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"48","DOI":"10.1109\/MS.2014.23","article-title":"Analyzing the harmful effect of god class refactoring on power consumption","volume":"31","author":"Piattini","year":"2014","journal-title":"IEEE Softw."},{"key":"ref_9","first-page":"2325","article-title":"Towards the Use of Software Product Metrics as an Indicator for Measuring Mobile Applications Power Consumption","volume":"9","author":"Keong","year":"2015","journal-title":"Int. J. Comput. Inf. Eng."},{"key":"ref_10","unstructured":"Litke, A., Zotos, K., Chatzigeorgiou, A., and Stephanides, G. (2005, January 21\u201323). Energy consumption analysis of design patterns. Proceedings of the International Conference on Machine Learning and Software Engineering, St. Louis, MO, USA."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.infsof.2018.07.014","article-title":"What can violations of good practices tell about the relationship between GoF patterns and run-time quality attributes?","volume":"105","author":"Feitosa","year":"2019","journal-title":"Inf. Softw. Technol."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Li, D., and Halfond, W.G. (2014, January 1). An investigation into energy-saving programming practices for android smartphone app development. Proceedings of the 3rd International Workshop on Green and Sustainable Software, Hyderabad, India.","DOI":"10.1145\/2593743.2593750"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Li, D., Hao, S., Halfond, W.G., and Govindan, R. (2013, January 15\u201320). Calculating source line level energy information for android applications. Proceedings of the 2013 International Symposium on Software Testing and Analysis, Lugano, Switzerland.","DOI":"10.1145\/2483760.2483780"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"937","DOI":"10.1109\/COMST.2022.3163176","article-title":"Smartphone app usage analysis: Datasets, methods, and applications","volume":"24","author":"Li","year":"2022","journal-title":"IEEE Commun. Surv. Tutor."},{"key":"ref_15","unstructured":"Mundody, S., and Sudarshan, K. (2014, January 28\u201330). Evaluating the impact of android best practices on energy consumption. Proceedings of the IJCA Proceedings on International Conference on Information and Communication Technologies, Bandung, Indonesia."},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Wilke, C., Piechnick, C., Richly, S., P\u00fcschel, G., G\u00f6tz, S., and A\u00dfmann, U. (2013, January 18\u201322). Comparing mobile applications\u2019 energy consumption. Proceedings of the 28th Annual ACM Symposium on Applied Computing, Coimbra, Portugal.","DOI":"10.1145\/2480362.2480583"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Marcu, M., and Cernazanu, C. (2012, January 13\u201316). Dynamic analysis of electronic devices\u2019 power signatures. Proceedings of the 2012 IEEE International Instrumentation and Measurement Technology Conference Proceedings, Graz, Austria.","DOI":"10.1109\/I2MTC.2012.6229562"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Marcu, M., and Cernazanu, C. (2014, January 12\u201315). Applications of smart metering and home appliances\u2019 power signatures. Proceedings of the IEEE International Instrumentation and Measurement Technology Conference (I2MTC) Proceedings, Montevideo, Uruguay.","DOI":"10.1109\/I2MTC.2014.6860762"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Hecht, G., Moha, N., and Rouvoy, R. (2016, January 16\u201317). An empirical study of the performance impacts of android code smells. Proceedings of the International Conference on Mobile Software Engineering and Systems, Austin, TX, USA.","DOI":"10.1145\/2897073.2897100"},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"2879","DOI":"10.1109\/TSE.2021.3071193","article-title":"A survey of performance optimization for mobile applications","volume":"48","author":"Hort","year":"2021","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_21","unstructured":"(2024, October 03). Android Performance Tips. Available online: https:\/\/developer.android.com\/training\/articles\/perf-tips.html."},{"key":"ref_22","unstructured":"Barsukov, Y. (2004). Challenges and Solutions in Battery Fuel Gauging, Texas Instruments, Inc."},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"742","DOI":"10.1016\/j.jpowsour.2014.09.063","article-title":"Performance analysis results of a battery fuel gauge algorithm at multiple temperatures","volume":"273","author":"Balasingam","year":"2015","journal-title":"J. Power Sources"},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Hsu, C.H., Combs, J., Nazor, J., Santiago, F., Thysell, R., Rivoire, S., and Poole, S.W. (2014, January 19\u201323). Application power signature analysis. Proceedings of the 2014 IEEE International Parallel & Distributed Processing Symposium Workshops, Phoenix, AR, USA.","DOI":"10.1109\/IPDPSW.2014.90"},{"key":"ref_25","unstructured":"(2024, January 22). Android Battery Api. Available online: https:\/\/source.android.com\/devices\/ tech\/power\/device."},{"key":"ref_26","unstructured":"(2024, January 23). Scenario Testing Wiki. Available online: https:\/\/en.wikipedia.org\/wiki\/Scenario testing."},{"key":"ref_27","unstructured":"(2017, May 28). Study Case Application Repository. Available online: https:\/\/github.com\/claudiugroza\/energysmells."},{"key":"ref_28","unstructured":"(2024, May 22). Applications Analytics. Available online: https:\/\/hackernoon.com\/how-much-time-do-people-spend-on-theirmobile-phones-in-2017-e5f90a0b10a6."},{"key":"ref_29","unstructured":"(2017, August 17). Battery Fuel Gauge Library. Available online: https:\/\/github.com\/claudiugroza\/batterygauge."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/24\/19\/6469\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T16:08:53Z","timestamp":1760112533000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/24\/19\/6469"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,10,7]]},"references-count":29,"journal-issue":{"issue":"19","published-online":{"date-parts":[[2024,10]]}},"alternative-id":["s24196469"],"URL":"https:\/\/doi.org\/10.3390\/s24196469","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,10,7]]}}}