Abstract
Energy consumption of software has been becoming increasingly significant, since it can vary according to how the software has been developed. In recent years, developers and researchers have been interested in analyzing, among other things, how energy consumption evolves when changes occur from one version to another in any given software. Thus far, the only studies available are theoretical papers that reinforce the idea that maintainability may have an influence on energy use, but this needs to be proven empirically, which is the goal of this article. This work presents an empirical study carried out to test whether there is a relationship between the energy consumption and the maintainability of several versions of Redmine. Maintainability has been assessed by means of different measures, such as the number of lines of code, or the complexity of the software, calculated using SonarCloud, and the energy consumption measurements have been captured using the EET device. The results obtained show that the number of lines of code affects both the energy consumption of the processor and the total consumption of the computer where the software is run. It is intended that the results from this work should serve as a basis for the undertaking of new empirical studies which will enable the relationship between the software maintainability and the energy efficiency of that software to be better understood.
Similar content being viewed by others
Notes
SonarCloud. https://sonarcloud.io
Redmine. https://www.redmine.org
SonarCloud. https://sonarcloud.io
References
Andrae, A. (2017). Total consumer power consumption forecast. In: Nordic Digital Business Summit. Huawei Technologies.
Calero, C., & Piattini, M. (2017). Puzzling out software sustainability. Sustainable Computing: Informatics and Systems, 16, 117–124.
Calero, C., Bertoa, M. F., & Moraga, M. Á. (2013). A systematic literature review for software sustainability measures. In: 2013 2nd international workshop on green and sustainable software (GREENS). IEEE, pp 46-53. https://doi.org/10.1109/GREENS.2013.6606421.
Calero, C., Mancebo, J., García, F., Moraga, M. Á., Berná, J. A. G., Fernández-Alemán, J. L., & Toval, A. (2019). 5Ws of green and sustainable software. Tsinghua Science and Technology, 25, 401–414.
Capra, E., Francalanci, C., & Slaughter, S. A. (2012). Is software “green”? Application development environments and energy efficiency in open source applications. Information and Software Technology, 54(1), 60–71.
Chien, A. A. (2019). Owning computing’s environmental impact. Communications of the ACM, 62(3), 5–5. https://doi.org/10.1145/3310359.
Cruz, L., Abreu, R., Grundy, J., Li, L., & Xia, X. (2019). Do energy-oriented changes hinder maintainability? In: IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, pp 29-40. https://doi.org/10.1109/ICSME.2019.00013.
Dick, M., & Naumann, S. (2010). Enhancing software engineering processes towards sustainable software product design. In: EnviroInfo. pp 706–715.
García-Mireles, G. A., Moraga, M. Á., García, F., Calero, C., & Piattini, M. (2018). Interactions between environmental sustainability goals and software product quality: A mapping study. Information and Software Technology, 95, 108–129.
García-Rodríguez de Guzmán, I., Piattini, M., & Pérez-Castillo, R. (2015). Green software maintenance. In C. Calero & M. Piattini (Eds.), Green in Software Engineering (pp. 205–229). Cham: Springer International Publishing. https://doi.org/10.1007/978-3-319-08581-4_9.
Hindle, A. (2012). Green mining: A methodology of relating software change to power consumption. In Proceedings of the 9th IEEE Working Conference on Mining Software Repositories (pp. 78–87). IEEE Press.
Hindle, A. (2015). Green mining: A methodology of relating software change and configuration to power consumption. Empirical Software Engineering 20. pp 374–409 https://doi.org/10.1007/s10664-013-9276-6.
ISO (2011). ISO-IEC 25010: 2011 Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models.
Jagroep, E., van der Werf, J. M., Brinkkemper, S., Procaccianti, G., Lago, P., Blom, L., van Vliet, R. (2016). Software energy profiling: Comparing releases of a software product. In: Proceedings of the 38th International Conference on Software Engineering Companion. ACM, pp 523–532
Jagroep, E., Procaccianti, G., van der Werf, J. M., Brinkkemper, S., Blom, L., & van Vliet, R. (2017). Energy efficiency on the product roadmap: An empirical study across releases of a software product. Journal of Software: Evolution and Process 29. p 1852 https://doi.org/10.1002/smr.1852.
Jelschen, J., Gottschalk, M., Josefiok, M., Pitu, C., Winter, A. (2012). Towards applying reengineering services to energy-efficient applications. In: 2012 16th European Conference on Software Maintenance and Reengineering. IEEE, pp 353–358. https://doi.org/10.1109/CSMR.2012.43.
Jones, N. (2018). How to stop data centres from gobbling up the world’s electricity. Nature, 561(7722), 163–167.
Lima, L. G., Soares-Neto, F., Lieuthier, P., Castor, F., Melfe, G., & Fernandes, J. P. (2019). On Haskell and energy efficiency. Journal of Systems and Software, 149, 554–580.
Mancebo, J., Arriaga, H. O., García, F., Moraga, M., de Guzmán, I. G. -R., & Calero, C. (2018). EET: A device to support the measurement of software consumption. In: Proceedings of the 6th International Workshop on Green and Sustainable Software, Gothenburg, Sweden. ACM, pp 16–22. https://doi.org/10.1145/3194078.3194081.
Palomba, F., Di Nucci, D., Panichella, A., Zaidman, A., & De Lucia, A. (2019). On the impact of code smells on the energy consumption of mobile applications. Information and Software Technology, 105, 43–55.
Park, J. J., Hong, J.-E., & Lee, S.-H. (2014). Investigation for software power consumption of code refactoring techniques (pp. 717–722). In: SEKE.
Penzenstadler, B., Raturi, A., Richardson, D., Calero, C., Femmer, H., & Franch, X. (2014). Systematic mapping study on software engineering for sustainability (SE4S). In: Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering (EASE), London, United Kingdom, vol 14. ACM, pp 1-14. https://doi.org/10.1145/2601248.2601256.
Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J. P., & Saraiva, J. (2017). Energy efficiency across programming languages: How do energy, time, and memory relate? In: Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, Vancouver, Canada. ACM, pp 256–267. https://doi.org/10.1145/3136014.3136031.
Pereira, R., Carção, T., Couto, M., Cunha, J., Fernandes, J. P., & Saraiva, J. (2020). Spelling out energy leaks: Aiding developers locate energy inefficient code. Journal of Systems and Software, 161, 110463.
Pérez-Castillo, R., & Piattini, M. (2014). Analyzing the harmful effect of god class refactoring on power consumption. IEEE Software, 31(3), 48–54.
Pinto, G., & Castor, F. (2017). Energy efficiency: A new concern for application software developers. Communications of the ACM, 60(12), 68–75.
Procaccianti, G., Fernández, H., & Lago, P. (2016). Empirical evaluation of two best practices for energy-efficient software development. Journal of Systems and Software, 117, 185–198.
Radu, L. (2018). An ecological view on software reuse. Informatica Economica, 22, 75–85. https://doi.org/10.12948/issn14531305/22.3.2018.07.
Sahin C, Pollock L, Clause J (2014) How do code refactorings affect energy usage? In: Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, Torino, Italy, vol 36. ACM, pp 1–10. https://doi.org/10.1145/2652524.2652538.
Verdecchia, R., Ricchiuti, F., Hankel, A., Lago, P., & Procaccianti, G. (2017). Green ICT research and challenges. In Advances and New Trends in Environmental Informatics (pp. 37–48). Springer.
Verdecchia, R., Saez, R. A., Procaccianti G, Lago P (2018) Empirical evaluation of the energy impact of refactoring code Smells. In: ICT4S2018. 5th International Conference on Information and Communication Technology for Sustainability. pp 365-383. https://doi.org/10.29007/dz83.
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M., Regnell, B., & Wesslén, A. (2012). Experimentation in software engineering. Springer Science & Business Media.
Funding
This work was part of the BIZDEVOPS-Global (RTI2018-098309-B-C31), supported by the Spanish Ministry of Economy, Industry and Competitiveness and European FEDER funds, and was also part of the SOS project (No. SBPLY/17/180501/000364), funded by the Department of Education, Culture and Sports of the Directorate General of Universities, Research and Innovation of the JCCM (Regional Government of the Autonomous Region of Castilla-La Mancha).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Mancebo, J., Calero, C. & García, F. Does maintainability relate to the energy consumption of software? A case study. Software Qual J 29, 101–127 (2021). https://doi.org/10.1007/s11219-020-09536-9
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-020-09536-9