Page 55 - 《软件学报》2021年第11期
P. 55
胡渊喆 等:响应时间约束的代码评审人推荐 3381
∑ isCorrect (pr @ ,Top- )kϕ
时间窗口约束的 Top-k准确率 = pr PR∈ @ϕ × 100% (8)
| PR @ | ϕ
⎧ 1, if 推荐 k个评审人中至少一人在约定时间 ϕ内进行响应
ϕ
isCorrect ( pr @ ,Top- ) k = ⎨ (9)
⎩ 0, if 推荐 k个评审人中没有人在约定时间 ϕ内进行响应
其中,isCorrect(pr@ϕ,Top-k)函数在至少有一个 Top-k 中的评审人员参与了该合并请求的代码评审,且其最快响
应时间小于ϕ的情况下返回 1;否则,返回 0;
2) 时间窗约束的 MRR 计算的是代码评审人推荐列表中正确推荐的评审人倒数排名的平均值.给出一系
列能够在响应时间窗ϕ内响应的合并请求(PR@ϕ),MRR 可以根据如下公式进行计算:
1 1
MRR = ∑ (10)
ϕ
(
| PR @ | pr PR∈ @ rank (Reviewers pr ))
ϕ
其中,rank(Reviewers(pr))返回推荐列表中第 1 个实际参与了该合并请求的评审人的排名.当推荐列表中的评审
人没有任何一个参与了该合并请求的实际评审时,返回 0.
理想情况下,一个方法能够完美推荐代码评审人时,MRR 值为 1.
4 结果分析
4.1 RQ1:方法性能
表 4 和表 5 分别列出了 MOC2R 以及基线方法在 6 个实验项目上在不同时间窗约束下的 Top-k 准确率和
MRR 结果.
由表 4 和表 5 可以看出,在不同的时间窗约束下,MOC2R 都能得到较好的效果:Top-1 准确率为 41.7%~
61.5%,Top-3 准确率为 58.4%~74.9%,Top-5 准确率为 66.5%~77.7%,MRR 为 0.53~0.58;平均 Top-1 准确率为 51%,
平均 Top-3 准确率为 66.6%,平均 Top-5 准确率为 72.1%,平均 MRR 为 0.61.这说明 MOC2R 可以很好地在多目
标优化中推荐在时间约束下(约定时间窗内响应)最合适的评审人.准确率随着时间窗加大而增加的项目,是由
于其评审人的响应速度较慢,倾向于在较长的时间中响应;而准确率随着时间窗加大而减少的项目,是由于该项
目的评审人的响应速度较快,倾向于在较短的时间内响应.
Table 4 Result of Top-k accuracy in different constrained time window (%)
表 4 不同时间窗约束的 Top-k 准确率结果 (%)
时间窗约束=2h 时间窗约束=4h 时间窗约束=8h
Project Approach
Top-1 Top-3 Top-5 Top-1 Top-3 Top-5 Top-1 Top-3 Top-5
ReviewFinder 31.0 47.8 55.8 35.6 49.5 59.8 44.6 54.6 60.6
Facebook/react IR+CN 34.9 55.4 63.6 43.1 54.7 67.5 53.9 61.7 68.3
MOC2R 61.5 74.9 77.7 63.7 72.3 76.5 64.2 71.4 73.8
ReviewFinder 22.1 37.4 45.6 20.6 34.6 47.9 38.3 60.3 65.8
tensorflow/tensorflow IR+CN 32.0 48.3 56.1 33.5 49.0 58.0 44.4 60.8 75.9
MOC2R 52.7 69.2 73.5 55.9 68.1 74.1 58.0 70.9 75.1
ReviewFinder 14.5 24.6 34.0 19.4 40.4 48.2 24.7 45.3 57.6
twbs/bootstrap IR+CN 27.3 44.2 56.2 29.6 45.5 54.6 35.0 52.0 62.2
MOC2R 53.0 65.0 71.2 46.8 61.2 69.6 50.5 66.2 72.7
ReviewFinder 13.8 23.7 39.7 17.0 29.2 39.7 24.4 34.7 43.1
ohmyzsh/ohmyzsh IR+CN 17.1 31.4 45.2 23.1 41.4 50.6 29.3 44.2 58.7
MOC2R 52.9 68.9 73.8 47.1 62.8 70.2 47.0 66.1 71.1
ReviewFinder 26.0 50.9 55.3 37.1 46.5 60.8 41.6 58.4 73.3
flutter/flutter IR+CN 34.3 53.0 59.7 37.6 46.2 58.7 39.5 51.5 64.7
MOC2R 44.0 63.1 66.5 49.4 65.4 70.5 55.2 67.4 73.0
ReviewFinder 18.9 29.8 35.3 20.1 32.5 43.3 28.9 40.5 54.8
electron/electron IR+CN 23.7 34.0 38.8 27.1 39.7 49.5 35.7 53.3 69.1
MOC2R 41.7 58.4 69.6 46.7 61.7 70.4 52.7 62.5 71.8
ReviewFinder 21.0 35.7 44.3 25.0 38.8 49.9 33.7 49.0 59.2
mean IR+CN 28.2 44.4 53.3 32.3 46.1 56.5 39.6 53.9 66.5
MOC2R 51.0 66.6 72.1 51.6 65.2 71.9 54.6 67.4 72.9