Context. Modern Code Review (MCR) is being adopted in both open source and commercial projects as a common practice. MCR is a widely acknowledged quality assurance practice that allows early detection of defects as well as poor coding practices. It also brings several other benefits such as knowledge sharing, team awareness, and collaboration. Problem. In practice, code reviews can experience significant delays to be completed due to various socio-technical factors which can affect the project quality and cost. For a successful review process, peer reviewers should perform their review tasks in a timely manner while providing relevant feedback about the code change being reviewed. However, there is a lack of tool support to help developers estimating the time required to complete a code review prior to accepting or declining a review request. Objective. Our objective is to build and validate an effective approach to predict the code review completion time in the context of MCR and help developers better manage and prioritize their code review tasks. Method. We formulate the prediction of the code review completion time as a learning problem. In particular, we propose a framework based on regression models to (i) effectively estimate the code review completion time, and (ii) understand the main factors influencing code review completion time.
翻译:现代代码审查(MCR)是开放源码和商业项目的共同做法,是公认的质量保证做法,可以早期发现缺陷和编码方法差,还带来若干其他好处,如知识共享、团队认识和协作。 问题。在实践中,代码审查可能由于影响项目质量和成本的各种社会技术因素而出现重大延误。对于成功的审评进程,同行审评员应及时履行审查任务,同时提供有关正在审查的代码修改的反馈。然而,对于帮助开发者估计在接受或拒绝审查请求之前完成代码审查所需的时间,缺乏工具支持。目标:我们的目标是建立和验证一种有效办法,预测代码审查完成时间,帮助开发者更好地管理和安排代码审查任务的优先次序。方法:我们根据回归模型预测代码审查完成时间是一个学习问题。我们特别提出一个框架,以便(一) 有效估计代码审查完成时间,(二) 了解影响代码审查完成时间的主要因素。