An empirical study on self-admitted technical debt in modern code review

An empirical study on self-admitted technical debt in modern code review
复制标题

DOI:
10.1016/j.infsof.2022.106855
复制
发表时间:
2022-02
期刊:
Inf. Softw. Technol.
影响因子:
--
通讯作者:
Yutaro Kashiwa;Ryoma Nishikawa;Yasutaka Kamei;Masanari Kondo;Emad Shihab;Ryosuke Sato;Naoyasu Ubayashi
Yutaro Kashiwa;Ryoma Nishikawa;Yasutaka Kamei;Masanari Kondo;Emad Shihab;Ryosuke Sato;Naoyasu Ubayashi
中科院分区:
其他
文献类型:
--
作者:
Yutaro Kashiwa;Ryoma Nishikawa;Yasutaka Kamei;Masanari Kondo;Emad Shihab;Ryosuke Sato;Naoyasu Ubayashi

文献摘要

相似文献

技术债务是项目开发的一种次优状态。特别是,开发人员本身产生的技术债务类型(例如,这意味着实现是不完美的,应该用另一个实现取代的评论)被称为自我承认的技术债务(SATD)。从理论上讲,技术债务不应该长期存在,因为随着时间的推移,它会积累更多的成本,使其更难以处理。因此,开发人员传统上进行代码审查以发现技术债务。事实上,我们观察到许多SATD注释经常在现代代码审查(MCR)中引入,这些审查是Web应用程序的轻量级审查。然而,在评审过程中引入的SATD评论的性质是不确定的:影响、频率、特征和触发因素。在此,本研究实证检验了SATD和MCR之间的关系。我们对来自Qt和OpenStack系统的156,372条评论记录的案例研究表明:(i)涉及SATD的评论记录被评论接受的可能性比不含SATD的评论记录低约6%-7%;(ii)与不含SATD的评论记录相比,涉及SATD的评论记录往往需要多两到三次修改;(iii)28-48%的SATD注释是在代码评审期间引入的;(iv)评审期间的SATD用于作者和评审员之间的沟通;(v)20%的SATD注释是应评审员的要求引入的。
Technical debt is a sub-optimal state of development in projects. In particular, the type of technical debt incurred by developers themselves (e.g., comments that mean the implementation is imperfect and should be replaced with another implementation) is called self-admitted technical debt (SATD). In theory, technical debt should not be left for a long period because it accumulates more cost over time, making it more difficult to process. Accordingly, developers have traditionally conducted code reviews to find technical debt. In fact, we observe that many SATD comments are often introduced during modern code reviews (MCR) that are light-weight reviews with web applications. However, it is uncertain about the nature of SATD comments that are introduced in the review process: impact, frequency, characteristics, and triggers. Herein, this study empirically examines the relationship between SATD and MCR.Our case study of 156,372 review records from the Qt and OpenStack systems shows that (i) review records involving SATD are about 6%–7% less likely to be accepted by reviews than those without SATD; (ii) review records involving SATD tend to require two to three more revisions compared with those without SATD; (iii) 28–48% of SATD comments are introduced during code reviews; (iv) SATD during reviews works for communicating between authors and reviewers; and (v) 20% of the SATD comments are introduced due to reviewers’ requests.