Exploring the relationship between refactoring and code debt indicators

Rusen Halepmollasi*, Ayse Tosun

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

1 Citation (Scopus)

Abstract

Refactoring, which aims to improve the internal structure of the software systems preserving their behavior, is the most common payment strategy for technical debt (TD) by removing the code smells. There exist many studies presenting code smell detection approaches/tools or investigating their impact on quality attributes. There are also studies that focus on refactoring techniques, their relation with quality attributes, tool supports, and opportunities for them. Although there are several studies addressing the gap between refactoring and TD indicators, the empirical evidence provided is still limited. In this study, we examine the distribution of 29 refactoring types among the different projects and their relation with code smells or faults. We explore the refactoring types that are most commonly performed together and other activities performed with refactorings. We conduct a large exploratory study with automatically detected 57,528 refactorings, 37,553 smells, 27,340 faults, and 134,812 commits of 33 Java projects. Results show that some refactoring types are more commonly applied by developers. Our analysis indicates that refactorings usually remove or do not affect the code smells, and this contradicts with the previous studies. Also, the commits in which refactoring(s) is performed are three times more fault inducing than those without refactoring.

Original languageEnglish
Article numbere2447
JournalJournal of software: Evolution and Process
Volume36
Issue number1
DOIs
Publication statusPublished - Jan 2024

Bibliographical note

Publisher Copyright:
© 2022 John Wiley & Sons, Ltd.

Keywords

  • code smells
  • refactoring
  • software faults
  • technical debt

Fingerprint

Dive into the research topics of 'Exploring the relationship between refactoring and code debt indicators'. Together they form a unique fingerprint.

Cite this