A metrics-based approach for selecting among various refactoring candidates

Nikolaos Nikolaidis, Nikolaos Mittas, Apostolos Ampatzoglou*, Daniel Feitosa, Alexander Chatzigeorgiou

*Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

1 Citation (Scopus)
57 Downloads (Pure)

Abstract

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.

Original languageEnglish
Article number25
Number of pages29
JournalEmpirical software engineering
Volume29
Issue number1
DOIs
Publication statusPublished - Feb-2024

Keywords

  • Empirical Quantitative Analysis
  • Interest
  • Principal
  • Refactoring
  • Technical Debt

Fingerprint

Dive into the research topics of 'A metrics-based approach for selecting among various refactoring candidates'. Together they form a unique fingerprint.

Cite this