利用机器智能优先处理代码审查请求
软件工程
2021-02-12 v1 人工智能
摘要
现代代码审查(MCR)是审查需要与现有代码库合并的新代码变更的过程。作为开发者,每天可能会收到许多代码审查请求,即需要对审查请求进行优先级排序。手动优先处理审查请求是一个具有挑战性且耗时的过程。为解决上述问题,我们在爱立信开展了一项工业案例研究,旨在开发一种称为 Pineapple 的工具,其使用贝叶斯网络对代码审查请求进行优先级排序。为验证我们的方法/工具,我们将其部署在爱立信的一个实时软件开发项目中,该项目有超过 150 名开发者开发一款电信产品。我们着重评估了方法的预测性能、可行性与有用性。结果表明,Pineapple 具有可靠的预测性能(RMSE = 0.21 且 MAE = 0.15)。此外,约 82.6% 的 Pineapple 用户认为该工具能通过提供可靠结果来支持代码审查请求的优先级排序,约 56.5% 的用户认为它有助于减少代码审查前置时间。作为未来工作,我们计划通过纵向调查评估 Pineapple 的预测性能、有用性与可行性。
引用
@article{arxiv.2102.05916,
title = {Using Machine Intelligence to Prioritise Code Review Requests},
author = {Nishrith Saini and Ricardo Britto},
journal= {arXiv preprint arXiv:2102.05916},
year = {2021}
}