TY - JOUR
T1 - A metrics-based approach for selecting among various refactoring candidates
AU - Nikolaidis, Nikolaos
AU - Mittas, Nikolaos
AU - Ampatzoglou, Apostolos
AU - Feitosa, Daniel
AU - Chatzigeorgiou, Alexander
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.
PY - 2024/2
Y1 - 2024/2
N2 - Refactoring is the most prominent way of repaying Technical Debt and improving software maintainability. Despite the acknowledgement of refactorings as a state-of-practice technique (both by industry and academia), refactoring-based quality optimizations are debatable due to three important concerns: (a) the impact of a refactoring on quality is not always positive; (b) the list of available refactoring candidates is usually vast, restricting developers from applying all suggestions; and (c) there is no empirical evidence on which parameters are related to positive refactoring impact on quality. To alleviate these concerns, we reuse a benchmark (constructed in a previous study) of real-world refactorings having either a positive or negative impact on quality; and we explore the parameters (structural characteristics of classes) affecting the impact of the refactoring. Based on the findings, we propose a metrics-based approach for guiding practitioners on how to prioritize refactoring candidates. The results of the study suggest that classes with high coupling and large size should be given priority, since they tend to have a positive impact on technical debt.
AB - Refactoring is the most prominent way of repaying Technical Debt and improving software maintainability. Despite the acknowledgement of refactorings as a state-of-practice technique (both by industry and academia), refactoring-based quality optimizations are debatable due to three important concerns: (a) the impact of a refactoring on quality is not always positive; (b) the list of available refactoring candidates is usually vast, restricting developers from applying all suggestions; and (c) there is no empirical evidence on which parameters are related to positive refactoring impact on quality. To alleviate these concerns, we reuse a benchmark (constructed in a previous study) of real-world refactorings having either a positive or negative impact on quality; and we explore the parameters (structural characteristics of classes) affecting the impact of the refactoring. Based on the findings, we propose a metrics-based approach for guiding practitioners on how to prioritize refactoring candidates. The results of the study suggest that classes with high coupling and large size should be given priority, since they tend to have a positive impact on technical debt.
KW - Empirical Quantitative Analysis
KW - Interest
KW - Principal
KW - Refactoring
KW - Technical Debt
UR - http://www.scopus.com/inward/record.url?scp=85179848803&partnerID=8YFLogxK
U2 - 10.1007/s10664-023-10412-w
DO - 10.1007/s10664-023-10412-w
M3 - Article
AN - SCOPUS:85179848803
SN - 1382-3256
VL - 29
JO - Empirical software engineering
JF - Empirical software engineering
IS - 1
M1 - 25
ER -