Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt Communities
Background: Technical Debt (TD) refers to the situation where developers make trade-offs to achieve short-term goals at the expense of long-term code quality, which can have a negative impact on the quality of software systems. In the context of code review, such sub-optimal implementations have chances to be timely resolved during the review process before the code is merged. Therefore, we could consider them as Potential Technical Debt (PTD) since PTD will evolve into TD when it is injected into software systems without being resolved.
Aim: To date, little is known about the extent to which PTD is identified in code reviews. Many tools have been provided to detect TD, but these tools lack consensus and a large amount of PTD is undetectable by tools while code review could help verify the quality of code that has been committed by identifying issues, such as PTD. To this end, we conducted an exploratory study in an attempt to understand the nature of PTD in code reviews and track down the resolution of PTD after being identified.
Method: We randomly collected 2,030 review comments from the Nova project of OpenStack and the Qt Base project of Qt. We then manually checked these review comments, and obtained 163 PTD-related review comments for further analysis.
Results: Our results show that: (1) PTD can be identified in code reviews but is not prevalent. (2) Design, defect, documentation, requirement, test, and code PTD are identified in code reviews, in which code and documentation PTD are the dominant. (3) 81.0% of the PTD identified in code reviews has been resolved by developers, and 78.0% of the resolved TD was resolved by developers within a week. (4) Code refactoring is the main practice used by developers to resolve the PTD identified in code reviews.
Conclusions: Our findings indicate that: (1) review-based detection of PTD is seen as one of the trustworthy mechanisms in development, and (2) there is still a significant proportion of PTD (19.0%) remaining unresolved when injected into the software systems. Practitioners and researchers should establish effective strategies to manage and resolve PTD in development.
Fri 23 SepDisplayed time zone: Athens change
13:30 - 15:00 | Session 5B - Development & Testing & Behavioral 2ESEM Technical Papers at Sonck Chair(s): Sheila Reinehr Pontifícia Universidade Católica do Paraná (PUCPR) | ||
13:30 15mFull-paper | Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt Communities ESEM Technical Papers Liming Fu Wuhan University, Peng Liang Wuhan University, China, Zeeshan Rasheed Wuhan University, Zengyang Li Central China Normal University, Amjed Tahir Massey University, Xiaofeng Han Wuhan University, China Link to publication DOI Pre-print | ||
13:45 15mFull-paper | MMF3: Neural Code Summarization Based on Multi-Modal Fine-Grained Feature Fusion ESEM Technical Papers Zheng Ma Shandong Normal University, Yuexiu Gao Shandong Normal University, Lei Lyu Shandong Normal University, Chen Lyu Shandong Normal University | ||
14:00 15mFull-paper | PG-VulNet: Detect Supply Chain Vulnerabilities in IoT Devices using Pseudo-code and Graphs ESEM Technical Papers Xin Liu Lanzhou University, Yixiong Wu Institute for Network Science and Cyberspace of Tsinghua University, Qingchen Yu Zhejiang University, Shangru Song Beijing Institute of Technology, Yue Liu Southeast University; Qi An Xin Group Corp., Qingguo Zhou Lanzhou University, Jianwei Zhuge Tsinghua University | ||
14:15 15mFull-paper | Heterogeneous Graph Neural Networks for Software Effort Estimation ESEM Technical Papers Pre-print | ||
14:30 15mFull-paper | Meetings and Mood - Related or Not? Insights from Student Software Projects ESEM Technical Papers Jil Klünder Leibniz Universität Hannover, Oliver Karras TIB - Leibniz Information Centre for Science and Technology Pre-print | ||
14:45 15mFull-paper | A Tale of Two Tasks: Automated Issue Priority Prediction with Deep Multi-task Learning ESEM Technical Papers Yingling Li , Xing Che , Yuekai Huang Institute of Software, Chinese Academy of Sciences, Junjie Wang Institute of Software at Chinese Academy of Sciences, Song Wang York University, Yawen Wang Institute of Software, Chinese Academy of Sciences, Qing Wang Institute of Software at Chinese Academy of Sciences |