Code review is considered a key process in the software industry for minimizing bugs and improving code quality. Inspection of review process effectiveness and continuous improvement can boost development productivity. Such inspection is a time-consuming and human-bias-prone task. We propose a semi-supervised learning based system ReviewRanker which is aimed at assigning each code review a confidence score which is expected to resonate with the quality of the review. Our proposed method is trained based on simple and and well defined labels provided by developers. The labeling task requires little to no effort from the developers and has an indirect relation to the end goal (assignment of review confidence score). ReviewRanker is expected to improve industry-wide code review quality inspection through reducing human bias and effort required for such task. The system has the potential of minimizing the back-and-forth cycle existing in the development and review process. Usable code and dataset for this research can be found at: https://github.com/saifarnab/code_review
翻译:代码评审被视为软件行业中减少缺陷、提升代码质量的关键流程。对评审过程的效率进行监控并持续改进,有助于提高开发生产力。然而,这种监控任务既耗时又易受人为偏差影响。我们提出一种基于半监督学习的系统ReviewRanker,旨在为每个代码评审分配一个置信度分数,该分数预期与评审质量成正比。所提方法基于开发者提供的简单且定义明确的标签进行训练。该标签任务几乎无需开发者付出额外努力,且与最终目标(分配评审置信度分数)之间存在间接关联。ReviewRanker有望通过减少人力偏差和工作量,推动行业级代码评审质量评估的改进。该系统具有缩减开发与评审流程中反复循环的潜力。本研究的可用代码及数据集可通过以下链接获取:https://github.com/saifarnab/code_review