Towards an effective refactoring taxonomy for sustainable software systems

构建可持续软件系统的有效重构分类体系

阅读:1

Abstract

Software refactoring is pivotal in improving software quality and ensuring complex software systems' long-term viability and sustainability. However, developers still face challenges in understanding how refactoring approaches influence software quality, as existing classifications largely overlook sustainability aspects and provide limited guidance for long-term software evolution. This gap creates difficulties for developers in selecting appropriate refactoring approaches supporting quality improvement and sustainable maintenance. Therefore, this study addresses these challenges by proposing a novel refactoring taxonomy based on estimated external quality attributes (EEQAs). The proposed taxonomy was developed through three key phases: exploratory study, experimental study, and multi-case analysis. The exploratory study identified the most used refactoring approaches in practice, the EEQAs (effectiveness, extendibility, flexibility, functionality, reusability, and understandability), and five case studies. In the experimental study, 41 experiments across the case studies were conducted to assess the influence of refactoring approaches on EEQAs. Then, a multi-case analysis was performed to examine these effects across all case studies. The proposed refactoring taxonomy categorized the refactoring approaches into positive, negative, and ineffective groups by using their aggregate impact on the EEQAs. The proposed taxonomy puts software sustainability practices at the forefront, prioritizing EEQAs: effectiveness, extendibility, flexibility, functionality, reusability, and understandability. It offers developers a systematic approach to improving software quality, aligning with user expectations, supporting future enhancements, and facilitating system maintenance. By prioritizing these attributes in refactoring practices, developers can build sustainable, robust, and maintainable software systems that deliver long-term value to stakeholders, effectively manage the complexity of software systems, and maintain high code quality standards over time.

特别声明

1、本页面内容包含部分的内容是基于公开信息的合理引用;引用内容仅为补充信息,不代表本站立场。

2、若认为本页面引用内容涉及侵权,请及时与本站联系,我们将第一时间处理。

3、其他媒体/个人如需使用本页面原创内容,需注明“来源:[生知库]”并获得授权;使用引用内容的,需自行联系原作者获得许可。

4、投稿及合作请联系:info@biocloudy.com。