An Empirical Study on Self-Fixed Technical Debt

被引:13
作者
Tan, Jie [1 ]
Feitosa, Daniel [1 ]
Avgeriou, Paris [1 ]
机构
[1] Univ Groningen, Groningen, Netherlands
来源
2020 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT, TECHDEBT | 2020年
关键词
Technical debt; Self-fixed issues; !text type='Python']Python[!/text; Static analysis;
D O I
10.1145/3387906.3388621
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Technical Debt (TD) can be paid back either by those that incurred it or by others. We call the former self-fixed TD, and it is particularly effective, as developers are experts in their own code and are best-suited to fix the corresponding TD issues. To what extent is TD self-fixed, which types of TD are more likely to be self-fixed and is the remediation time of self-fixed TD shorter than non-self-fixed TD? This paper attempts to answer these questions. It reports on an empirical study that analyzes the self-fixed issues of five types of TD (i.e., Code, Defect, Design, Documentation and Test), captured via static analysis, in more than 17,000 commits from 20 Python projects of the Apache Software Foundation. The results show that more than two thirds of the issues are self-fixed and that the self-fixing rate is negatively correlated with the number of commits, developers and project size. Furthermore, the survival time of self-fixed issues is generally shorter than non-self-fixed issues. Moreover, the majority of Defect Debt tends to be self-fixed and has a shorter survival time, while Test Debt and Design Debt are likely to be fixed by other developers. These results can benefit both researchers and practitioners by aiding the prioritization of TD remediation activities within development teams, and by informing the development of TD management tools.
引用
收藏
页码:11 / 20
页数:10
相关论文
共 32 条
[1]  
Akerblom B., 2014, Proceedings of the 11th Working Conference on Mining Software Repositories, MSR 2014, P292
[2]  
Alves Nicolli S. R., 2014, 2014 Sixth International Workshop on Managing Technical Debt. Proceedings, P1, DOI 10.1109/MTD.2014.9
[3]  
[Anonymous], P 2010 ACM IEEE INT
[4]  
Bavota G, 2016, 13TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2016), P315, DOI [10.1145/2901739.2901742, 10.1109/MSR.2016.040]
[5]   Are test smells really harmful? An empirical study [J].
Bavota, Gabriele ;
Qusef, Abdallah ;
Oliveto, Rocco ;
De Lucia, Andrea ;
Binkley, Dave .
EMPIRICAL SOFTWARE ENGINEERING, 2015, 20 (04) :1052-1094
[6]   The Pricey Bill of Technical Debt - When and by whom will it be paid? [J].
Besker, Terese ;
Martini, Antonio ;
Bosch, Jan .
2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, :13-23
[7]  
Campbell G, 2013, SONARQUBE IN ACTION
[8]   Investigating the Evolution of Bad Smells in Object-Oriented Code [J].
Chatzigeorgiou, Alexander ;
Manakos, Anastasios .
QUATIC 2010: SEVENTH INTERNATIONAL CONFERENCE ON THE QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY, 2010, :106-115
[9]   An Empirical Study on the Effect of Testing on Code Quality Using Topic Models: A Case Study on Software Development Systems [J].
Chen, Tse-Hsun ;
Thomas, Stephen W. ;
Hemmati, Hadi ;
Nagappan, Meiyappan ;
Hassan, Ahmed E. .
IEEE TRANSACTIONS ON RELIABILITY, 2017, 66 (03) :806-824
[10]   Understanding metric-based detectable smells in Python']Python software: A comparative study [J].
Chen Zhifei ;
Chen Lin ;
Ma Wanwangying ;
Zhou Xiaoyu ;
Zhou Yuming ;
Xu Baowen .
INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 94 :14-29