Page 46 - 《软件学报》2021年第11期
P. 46
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2021,32(11):3372−3387 [doi: 10.13328/j.cnki.jos.006079] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
∗
响应时间约束的代码评审人推荐
1,3
1
1,3
1
胡渊喆 , 王俊杰 , 李守斌 , 胡 军 , 王 青 1,2,3
1
(中国科学院 软件研究所 互联网软件技术实验室,北京 100190)
2
(计算机科学国家重点实验室(中国科学院 软件研究所),北京 100190)
3 (中国科学院大学,北京 100049)
通讯作者: 王青, E-mail: wq@itechs.iscas.ac.cn
摘 要: 同行代码评审,即对提交代码进行人工评审,是减少软件缺陷和提高软件质量的有效手段,已被 Github 等
开源社区以及很多软件开发组织广泛采用.在 GitHub 社区,代码评审是其 pull-based 软件开发模型的重要组成部分.
开源项目往往存在成百上千个候选评审人员,为评审工作推荐合适的评审人员是一项很有价值且挑战性的工作.基
于真实开源项目的数据分析发现,评审响应时间过长是普遍存在的问题,这会延长评审周期、降低参与人员积极性,
而已有的代码评审人推荐工作均没有考虑响应时间这个因素.因此,提出了响应时间约束的代码评审人推荐问题,即
推荐的评审人能否在约定时间内进行评审;进而提出了基于多目标优化的代码评审人推荐方法(MOC2R),该方法通
过最大化代码评审人经验、最大化在约定时间内的响应概率、最大化人员最近时间内的活跃性这 3 个目标,使用多
目标优化算法来推荐代码评审人员.基于 6 个开源项目的数据进行实验,结果表明,在不同时间窗约束下(2h、4h、
8h),Top-1 准确率为 41.7%~61.5%,Top-5 准确率为 66.5%~77.7%,显著优于两条常用且业内领先的基线方法,且 3 个
目标均对人员推荐有贡献,其中,约定时间内的响应概率目标对于人员推荐的贡献最大.该方法能够进一步提升代码
评审效率,提高开源社区的活跃性.
关键词: 代码评审;响应时间约束;多目标优化
中图法分类号: TP311
中文引用格式: 胡渊喆,王俊杰,李守斌,胡军,王青.响应时间约束的代码评审人推荐.软件学报,2021,32(11):3372−3387. http://
www.jos.org.cn/1000-9825/6079.htm
英文引用格式: Hu YZ, Wang JJ, Li SB, Hu J, Wang Q. Response time constrained code reviewer recommendation. Ruan Jian
Xue Bao/Journal of Software, 2021,32(11):3372−3387 (in Chinese). http://www.jos.org.cn/1000-9825/6079.htm
Response Time Constrained Code Reviewer Recommendation
1
1,3
1
1,3
HU Yuan-Zhe , WANG Jun-Jie , LI Shou-Bin , HU Jun , WANG Qing 1,2,3
1 (Laboratory for Internet Software Technologies, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China)
2 (State Key Laboratory of Computer Science (Institute of Software, Chinese Academy of Sciences), Beijing 100190, China)
3 (University of Chinese Academy of Sciences, Beijing 100049, China)
Abstract: Peer code review, or manual review of submitted code, which is an effective way to reduce defects and improve quality, has
been widely adopted by open source communities and many software development organizations, such as Github. In the GitHub
community, code reviews are an important part of its pull-based software development model. Open source projects often have hundreds
or thousands of candidate reviewers, recommend suitable reviewers for code review is a very valuable and challenging work. Based on the
data analysis of real open source projects, it is found that the response time of review is a common problem, which will extend the review
cycle and reduce the enthusiasm of participants. Existed work did not take the response time into account. Therefore, the code reviewer
∗ 基金项目: 国家重点研发计划(2018YFB1403400)
Foundation item: National Key Research and Development Program of China (2018YFB1403400)
收稿时间: 2020-02-05; 修改时间: 2020-03-23; 采用时间: 2020-05-07; jos 在线出版时间: 2020-05-26