TY - JOUR
T1 - An empirical study on self-admitted technical debt in modern code review
AU - Kashiwa, Yutaro
AU - Nishikawa, Ryoma
AU - Kamei, Yasutaka
AU - Kondo, Masanari
AU - Shihab, Emad
AU - Sato, Ryosuke
AU - Ubayashi, Naoyasu
N1 - Funding Information:
We gratefully acknowledge the financial support of JSPS and SNSF for the project “SENSOR” (No. JPJSJRP20191502 ), and JSPS for the KAKENHI grants ( JP21H04877 , JP21K17725 ).
Publisher Copyright:
© 2022 Elsevier B.V.
PY - 2022/6
Y1 - 2022/6
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85124250048&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85124250048&partnerID=8YFLogxK
U2 - 10.1016/j.infsof.2022.106855
DO - 10.1016/j.infsof.2022.106855
M3 - Article
AN - SCOPUS:85124250048
SN - 0950-5849
VL - 146
JO - Information and Software Technology
JF - Information and Software Technology
M1 - 106855
ER -