Energy Efficiency Analysis of Code Refactoring Techniques for Green and Sustainable Software in Portable Devices

Creative Commons License


ELECTRONICS, vol.11, no.3, 2022 (SCI-Expanded) identifier identifier

  • Publication Type: Article / Article
  • Volume: 11 Issue: 3
  • Publication Date: 2022
  • Doi Number: 10.3390/electronics11030442
  • Journal Name: ELECTRONICS
  • Journal Indexes: Science Citation Index Expanded (SCI-EXPANDED), Scopus, Aerospace Database, Communication Abstracts, INSPEC, Metadex, Directory of Open Access Journals, Civil Engineering Abstracts
  • Keywords: code refactoring, energy consumption, green and sustainable software, energy efficiency, object-oriented code, maintainability index, sustainability, CONSUMPTION, METRICS, SMELLS
  • Süleyman Demirel University Affiliated: Yes


Code refactoring is a time-consuming and effort-intensive process that is applied for making improvements to source codes. There exist several refactoring techniques to improve software quality. Some of them aim to reduce the energy consumption of the software. However, the combination of applied refactoring techniques is crucial to the success rate. In addition, to provide sustainable services on portable devices such as mobile phones and laptops, which rely on batteries, improving and optimizing the energy efficiency is important. This study focuses on examining the effect of code refactoring techniques on energy consumption. A total of 25 different source codes of applications programmed in the C# and Java languages are selected for the study, and combinations obtained from refactoring techniques are applied to these source codes. The combinations applied are analyzed using the maintainability index. Power consumption estimation tools are used to measure the energy consumption of the original and refactored codes. The results show that the combinations significantly improve the software's energy efficiency. The results will provide a better understanding of the relationship between the energy efficiency of software and refactoring techniques. Moreover, they will help developers to improve their object-oriented code in terms of both energy efficiency and sustainability.