The review linkage graph for code review analytics: a recovery approach and empirical study

The review linkage graph for code review analytics: a recovery approach and empirical study
复制标题

DOI:
10.1145/3338906.3338949
复制
发表时间:
2019-08
期刊:
Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Toshiki Hirao;Shane McIntosh;Akinori Ihara;Ken-ichi Matsumoto
Toshiki Hirao;Shane McIntosh;Akinori Ihara;Ken-ichi Matsumoto
中科院分区:
其他
文献类型:
--
作者:
Toshiki Hirao;Shane McIntosh;Akinori Ihara;Ken-ichi Matsumoto

文献摘要

相似文献

现代代码评审(MCR)是当代质量保证方法的支柱,开发人员在集成之前讨论和改进代码更改。由于评审交互(例如,评论、修订)是存档的,因此已经提出了评审者建议和评审结果预测等分析方法来支持MCR过程。这些方法假定审查是独立进行的,但在实践中,审查可以相互依赖。在这篇文章中,我们开始更好地理解评审链接对代码评审分析的影响。为此,我们提取评论链接图,其中节点表示评论,而边表示评论之间恢复的链接。通过对六个软件社区的量化分析,我们观察到:(A)链接评论定期发生,OpenStack的链接评审率为25%,Chromium为17%,Android、Qt、Eclipse和LibreOffice为3%-8%;以及(B)随着时间的推移,链接变得更加普遍。通过定性分析,我们发现链接跨越了五个类别的16种类型。为了自动恢复链接类别,我们训练分类器根据周围的文档内容来标记链接。这些分类器的F1得分为0.71-0.79,至少是ZeroR基线的F1得分的两倍。最后,我们表明,通过结合预测时可用的链接评论信息,评论者推荐者的F1-分数可以提高37%-88%(5-14个百分点)。事实上,评审链接应该被未来的代码评审分析所利用。
Modern Code Review (MCR) is a pillar of contemporary quality assurance approaches, where developers discuss and improve code changes prior to integration. Since review interactions (e.g., comments, revisions) are archived, analytics approaches like reviewer recommendation and review outcome prediction have been proposed to support the MCR process. These approaches assume that reviews evolve and are adjudicated independently; yet in practice, reviews can be interdependent. In this paper, we set out to better understand the impact of review linkage on code review analytics. To do so, we extract review linkage graphs where nodes represent reviews, while edges represent recovered links between reviews. Through a quantitative analysis of six software communities, we observe that (a) linked reviews occur regularly, with linked review rates of 25% in OpenStack, 17% in Chromium, and 3%–8% in Android, Qt, Eclipse, and Libreoffice; and (b) linkage has become more prevalent over time. Through qualitative analysis, we discover that links span 16 types that belong to five categories. To automate link category recovery, we train classifiers to label links according to the surrounding document content. Those classifiers achieve F1-scores of 0.71–0.79, at least doubling the F1-scores of a ZeroR baseline. Finally, we show that the F1-scores of reviewer recommenders can be improved by 37%–88% (5–14 percentage points) by incorporating information from linked reviews that is available at prediction time. Indeed, review linkage should be exploited by future code review analytics.