开源社区github提供了pull request的机制让开发者可以把自己的代码集成到github的开源项目中从而为项目做出贡献.Pull request的代码评审是github这类分布式软件开发社区维护开源项目代码质量的非常重要的方式.为一个新到来的pull request指派合适的代码评审人可以有效减少pull request从提交到开始审核的延迟.目前github是由项目核心成员人工来完成评审人的指派,为了减少这种人力损耗,我们提出代码评审人的推荐系统,该系统基于信息检索的方法,并考虑了评审人的影响力因子以及评审的时间衰减的因素,对新到来的pull request,自动推荐最相关的评审人.我们的方法对top 1的准确度达到了68%,对top 10的召回率达到了78%.
The pull request mechanism is widely used for integrating developers’ code in github, so that developers can make contribution for open source projects. The code review of pull request is an essential method to maintain the high quality of code in github. Assigning appropriate reviewers for a newly coming pull request can effectively reduce the delay between the submission of a pull request and the actual review of it. At present, the pull request is assigned manually by core developers in the project. To reduce this cost, we propose a reviewer recommender system based on information retrieval. This method can automatically recommend highly relevant reviewers for a newly coming pull request. Our method has also taken the impact factor and time decaying factor into consideration, and has received good performance that the top 1 precision can reach 68% and top 10 recall rate can reach 78%.