An empirical study on the co-occurrence between refactoring actions and Self-Admitted Technical Debt removal

Technical Debt (TD) concerns the lack of an adequate solution in a software project, from its design to the source code. Its admittance through source code comments, issues, or commit messages is referred to as Self-Admitted Technical Debt (SATD). Previous research has studied SATD from different pe...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of systems and software 2021-08, Vol.178, p.110976, Article 110976
Hauptverfasser: Iammarino, Martina, Zampetti, Fiorella, Aversano, Lerina, Di Penta, Massimiliano
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Technical Debt (TD) concerns the lack of an adequate solution in a software project, from its design to the source code. Its admittance through source code comments, issues, or commit messages is referred to as Self-Admitted Technical Debt (SATD). Previous research has studied SATD from different perspectives, including its distribution, impact on software quality, and removal. In this paper, we investigate the relationship between refactoring and SATD removal. By leveraging a dataset of SATD and their removals in four open-source projects and by using an automated refactoring detection tool, we study the co-occurrence of refactoring and SATD removals. Results of the study indicate that refactoring is more likely to co-occur with SATD removals than with other commits, however, in most cases, they belong to different quality improvement activities performed at the same time. Moreover, if looking closely at refactoring actions co-occurring with SATD removal in the same code entities, a relationship between these activities can be found. Finally, we found how both source code quality metrics and SATD removals play a statistically significant role in the likelihood that the commit applies a refactoring action. •We study how refactoring and Self-Admitted Technical Debt (SATD) removal co-occur.•Refactoring operations co-occur with SATD removals more than with other changes.•However, only a minority of refactoring play a role in SATD removal, which is done in other ways.•Often this is a co-occurrence, or refactoring are a consequence of SATD removal.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2021.110976