The Review Linkage Graph for Code Review Analytics: A Recovery Approach and Empirical Study

Authors - Toshiki Hirao, Shane McIntosh, Akinori Ihara, Kenichi Matsumoto
Venue - International Symposium on the Foundations of Software Engineering, pp. 578–589, 2019

Related Tags - FSE 2019 code review

Abstract - 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 six 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.

Preprint - PDF

Bibtex

@inproceedings{hirao2019fse,
  Author = {Toshiki Hirao and Shane McIntosh and Akinori Ihara and Kenichi Matsumoto},
  Title = {{The Review Linkage Graph for Code Review Analytics: A Recovery Approach and Empirical Study}},
  Year = {2019},
  Booktitle = {Proc. of the International Symposium on the Foundations of Software Engineering (FSE)},
  Pages = {578–589}
}