论文标题
重构更改的代码审查实践:OpenStack的实证研究
Code Review Practices for Refactoring Changes: An Empirical Study on OpenStack
论文作者
论文摘要
现代代码审查是一种在工业和开源项目中采用的广泛使用的技术,用于提高软件质量,共享知识并确保遵守编码标准和准则。在代码审核期间,开发人员可以在合并代码库中的代码更改之前讨论重构活动。迄今为止,已经对代码审查进行了广泛的研究,以探索其一般挑战,最佳实践和结果以及社会技术方面。但是,对于审查重构的重构以及开发人员审查重构代码时的关心,知之甚少。因此,在这项工作中,我们提出了一项定量和定性的研究,以了解开发人员依靠哪些主要标准来制定有关接受或拒绝提交的重新分配的代码的决定,以及使此过程具有挑战性的。通过对开放式开源项目进行的11,010个重构和非反映评论的案例研究,我们发现与重构相关的代码审查需要更长的时间才能在代码审查工作方面得到解决。此外,在对重构代码审查讨论的重要样本进行主题分析后,我们建立了一个全面的分类法,该分类法包括28个重构审查标准。我们设想我们的发现,重申了开发准确有效的工具和技术的必要性,这些工具和技术可以帮助开发人员在存在的情况下进行审查过程。
Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding standards and guidelines. During code review, developers may discuss refactoring activities before merging code changes in the code base. To date, code review has been extensively studied to explore its general challenges, best practices and outcomes, and socio-technical aspects. However, little is known about how refactoring is being reviewed and what developers care about when they review refactored code. Hence, in this work, we present a quantitative and qualitative study to understand what are the main criteria developers rely on to develop a decision about accepting or rejecting a submitted refactored code, and what makes this process challenging. Through a case study of 11,010 refactoring and non-refactoring reviews spread across OpenStack open-source projects, we find that refactoring-related code reviews take significantly longer to be resolved in terms of code review efforts. Moreover, upon performing a thematic analysis on a significant sample of the refactoring code review discussions, we built a comprehensive taxonomy consisting of 28 refactoring review criteria. We envision our findings reaffirming the necessity of developing accurate and efficient tools and techniques that can assist developers in the review process in the presence of refactorings.