论文标题
潜在的技术债务及其在法规评论中的解决:OpenStack和QT社区的探索性研究
Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt Communities
论文作者
论文摘要
技术债务(TD)是指开发人员以牺牲长期代码质量为代价实现短期目标的权衡取舍的情况,这可能会对软件系统的质量产生负面影响。在代码审查的背景下,此类次优实现在合并代码之前的审核过程中有可能及时解决。因此,我们可以将它们视为潜在的技术债务(PTD),因为当PTD注入软件系统而无需解决时,PTD将演变为TD。迄今为止,关于PTD在代码审查中的确定程度知之甚少。为此,我们进行了一项探索性研究,以试图了解法规评论中PTD的性质,并在被鉴定后追踪PTD的分辨率。我们从OpenStack的Nova Project和QT的QT基础项目中随机收集了2,030个评论评论。然后,我们手动检查了这些评论评论,并获得了163个与PTD相关的评论评论以进行进一步分析。我们的结果表明:(1)可以在代码审查中识别PTD,但并不普遍。 (2)在代码评论中确定了设计,缺陷,文档,需求,测试和代码PTD,其中代码和文档PTD是主要的。 (3)开发人员解决了代码审查中确定的PTD的81.0%,开发人员在一周内解决了已解决的TD的78.0%。 (4)代码重构是开发人员用来解决代码评论中确定的PTD的主要实践。我们的发现表明:(1)基于审查的PTD检测被视为可信赖的开发机制之一,(2)当注入软件系统时,PTD(19.0%)仍然无法解决。从业者和研究人员应建立有效的策略来管理和解决开发中的PTD。
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% 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. 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.