Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring

被引:2
|
作者
Peruma, Anthony [1 ]
AlOmar, Eman Abdullah [2 ]
Newman, Christian D. [1 ]
Mkaouer, Mohamed Wiem [1 ]
Ouni, Ali [3 ]
机构
[1] Rochester Inst Technol, Rochester, NY 14623 USA
[2] Stevens Inst Technol, Hoboken, NJ 07030 USA
[3] Univ Quebec, ETS Montreal, Montreal, PQ, Canada
关键词
D O I
10.1145/3524842.3528527
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
To meet project timelines or budget constraints, developers intentionally deviate from writing optimal code to feasible code in what is known as incurring Technical Debt (TD). Furthermore, as part of planning their correction, developers document these deficiencies as comments in the code (i.e., self-admitted technical debt or SATD). As a means of improving source code quality, developers often apply a series of refactoring operations to their codebase. In this study, we explore developers repaying this debt through refactoring operations by examining occurrences of SATD removal in the code of 76 open-source Java systems. Our findings show that TD payment usually occurs with refactoring activities and developers refactor their code to remove TD for specific reasons. We envision our findings supporting vendors in providing tools to better support developers in the automatic repayment of technical debt.
引用
收藏
页码:127 / 131
页数:5
相关论文
共 50 条
  • [1] Exploring the relationship between refactoring and code debt indicators
    Halepmollasi, Rusen
    Tosun, Ayse
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (01)
  • [2] Refactoring Cost Estimation for Architectural Technical Debt
    Deeb, Samir
    BenIdris, Mrwan
    Ammar, Hany
    Dzielski, Dale
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2021, 31 (02) : 269 - 288
  • [3] An Exploratory Study on the Relationship between Changes and Refactoring
    Palomba, Fabio
    Zaidman, Andy
    Oliveto, Rocco
    De Lucia, Andrea
    [J]. 2017 IEEE/ACM 25TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2017, : 176 - 185
  • [4] Technical debt reduction using search based automated refactoring
    Mohan, Michael
    Greer, Des
    McMullan, Paul
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 120 : 183 - 194
  • [5] The Technical Debt Density Over Multiple Releases and the Refactoring Story
    BenIdris, Mrwan
    Ammar, Hany
    Dzielski, Dale
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2021, 31 (01) : 99 - 116
  • [6] Influence of Model Refactoring on Code Debt: A Replicated Study
    Silva Freire, Emmanuel Savio
    Passos, Amanda Ferraz de O.
    Sant'Anna, Claudio
    Spinola, Rodrigo Oliveira
    De Mendonca Neto, Manoel G.
    [J]. PROCEEDINGS OF THE XXXIII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2019, 2019, : 452 - 456
  • [7] Refactoring, Bug Fixing, and New Development Effect on Technical Debt: An Industrial Case Study
    Zabardast, Ehsan
    Gonzalez-Huerta, Javier
    Smite, Darja
    [J]. 2020 46TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2020), 2020, : 376 - 384
  • [8] An empirical study on the co-occurrence between refactoring actions and Self-Admitted Technical Debt removal
    Iammarino, Martina
    Zampetti, Fiorella
    Aversano, Lerina
    Di Penta, Massimiliano
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 178
  • [9] Paying down design debt with strategic refactoring
    Neill, Colin J.
    Laplante, Phillip A.
    [J]. COMPUTER, 2006, 39 (12) : 131 - 134
  • [10] An Empirically Developed Method to Aid Decisions on Architectural Technical Debt Refactoring: AnaConDebt
    Martini, Antonio
    Bosch, Jan
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 31 - 40