Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt Communities

06/29/2022
by   Liming Fu, et al.
0

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. To date, little is known about the extent to which PTD is identified in code reviews. 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. 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. 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 reviews has been resolved by developers, and 78.0 resolved by developers within a week. (4) Code refactoring is the main practice used by developers to resolve the PTD identified in code reviews. 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 systems. Practitioners and researchers should establish effective strategies to manage and resolve PTD in development.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/29/2022

Understanding Code Snippets in Code Reviews: A Preliminary Study of the OpenStack Community

Code review is a mature practice for software quality assurance in softw...
research
03/31/2023

Code Reviewer Recommendation for Architecture Violations: An Exploratory Study

Code review is a common practice in software development and often condu...
research
12/23/2022

Warnings: Violation Symptoms Indicating Architecture Erosion

As a software system evolves, its architecture tends to degrade, and gra...
research
01/11/2021

An Exploratory Study on the Introduction and Removal of Different Types of Technical Debt

To complete tasks faster, developers often have to sacrifice the quality...
research
02/22/2023

What Makes a Code Review Useful to OpenDev Developers? An Empirical Investigation

Context: Due to the association of significant efforts, even a minor imp...
research
01/28/2022

Detecting Discussions of Technical Debt

Technical debt (TD) refers to suboptimal choices during software develop...
research
03/28/2018

Are There Functionally Similar Code Clones in Practice?

Having similar code fragments, also called clones, in software systems c...

Please sign up or login with your details

Forgot password? Click here to reset