Olivia Poy, Ma Ángeles Moraga, Félix García, Coral Calero
{"title":"Impact on energy consumption of design patterns, code smells and refactoring techniques: A systematic mapping study","authors":"Olivia Poy, Ma Ángeles Moraga, Félix García, Coral Calero","doi":"10.1016/j.jss.2024.112303","DOIUrl":null,"url":null,"abstract":"<div><div>Software energy efficiency is an increasingly relevant aspect that should be taken into account during software development and some of the most common design and coding decisions include the use of design patterns, the removal of code smells and the use of refactoring techniques. Therefore, the aim of this systematic mapping study is to provide an overview on the impact that design patterns, code smells, and refactoring techniques have on the energy consumption of software. This may assist practitioners in developing energy-efficient software as well as the research community in undertaking further research on the topic. The results of the primary studies showed that design patterns, code smells and refactoring techniques impact software energy consumption. However, not all of them have a clear positive or negative effect, which requires further study. Overall, the use of design patterns seems to have a negative impact on energy consumption, the removal of code smells tends to have a more positive impact. We found no conclusive result on the relationship between using refactoring techniques and energy consumption.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112303"},"PeriodicalIF":3.7000,"publicationDate":"2024-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems and Software","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0164121224003479","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Software energy efficiency is an increasingly relevant aspect that should be taken into account during software development and some of the most common design and coding decisions include the use of design patterns, the removal of code smells and the use of refactoring techniques. Therefore, the aim of this systematic mapping study is to provide an overview on the impact that design patterns, code smells, and refactoring techniques have on the energy consumption of software. This may assist practitioners in developing energy-efficient software as well as the research community in undertaking further research on the topic. The results of the primary studies showed that design patterns, code smells and refactoring techniques impact software energy consumption. However, not all of them have a clear positive or negative effect, which requires further study. Overall, the use of design patterns seems to have a negative impact on energy consumption, the removal of code smells tends to have a more positive impact. We found no conclusive result on the relationship between using refactoring techniques and energy consumption.
期刊介绍:
The Journal of Systems and Software publishes papers covering all aspects of software engineering and related hardware-software-systems issues. All articles should include a validation of the idea presented, e.g. through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to:
•Methods and tools for, and empirical studies on, software requirements, design, architecture, verification and validation, maintenance and evolution
•Agile, model-driven, service-oriented, open source and global software development
•Approaches for mobile, multiprocessing, real-time, distributed, cloud-based, dependable and virtualized systems
•Human factors and management concerns of software development
•Data management and big data issues of software systems
•Metrics and evaluation, data mining of software development resources
•Business and economic aspects of software development processes
The journal welcomes state-of-the-art surveys and reports of practical experience for all of these topics.