Who should review my code? A file location-based code-reviewer recommendation approach for Modern Code Review

Patanamon Thongtanunam, Chakkrit Tantithamthavorn, Raula Gaikovina Kula, Norihiro Yoshida, Hajimu Iida, Ken-ichi Matsumoto

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

83 Citations (Scopus)

Abstract

Software code review is an inspection of a code change by an independent third-party developer in order to identify and fix defects before an integration. Effectively performing code review can improve the overall software quality. In recent years, Modern Code Review (MCR), a lightweight and tool-based code inspection, has been widely adopted in both proprietary and open-source software systems. Finding appropriate code-reviewers in MCR is a necessary step of reviewing a code change. However, little research is known the difficulty of finding code-reviewers in a distributed software development and its impact on reviewing time. In this paper, we investigate the impact of reviews with code-reviewer assignment problem has on reviewing time. We find that reviews with code-reviewer assignment problem take 12 days longer to approve a code change. To help developers find appropriate code-reviewers, we propose RevFinder, a file location-based code-reviewer recommendation approach. We leverage a similarity of previously reviewed file path to recommend an appropriate code-reviewer. The intuition is that files that are located in similar file paths would be managed and reviewed by similar experienced code-reviewers. Through an empirical evaluation on a case study of 42,045 reviews of Android Open Source Project (AOSP), OpenStack, Qt and LibreOffice projects, we find that RevFinder accurately recommended 79% of reviews with a top 10 recommendation. RevFinder also correctly recommended the code-reviewers with a median rank of 4. The overall ranking of RevFinder is 3 times better than that of a baseline approach. We believe that RevFinder could be applied to MCR in order to help developers find appropriate code-reviewers and speed up the overall code review process.

Original languageEnglish
Title of host publication2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER) - Proceedings
Subtitle of host publicationMarch 2-6, 2015 Montréal, Canada
EditorsAlexander Serebrenik, Bram Adams
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages141-150
Number of pages10
ISBN (Electronic)9781479984695
DOIs
Publication statusPublished - 2015
Externally publishedYes
EventIEEE International Conference on Software Analysis, Evolution, and Reengineering 2015 - Montreal, Canada
Duration: 2 Mar 20156 Mar 2015
Conference number: 22nd
http://www.saner.polymtl.ca/doku.php?id=en:start

Conference

ConferenceIEEE International Conference on Software Analysis, Evolution, and Reengineering 2015
Abbreviated titleSANER 2015
CountryCanada
CityMontreal
Period2/03/156/03/15
Internet address

Keywords

  • Code-Reviewer Recommendation
  • Distributed Software Development
  • Modern Code Review

Cite this

Thongtanunam, P., Tantithamthavorn, C., Kula, R. G., Yoshida, N., Iida, H., & Matsumoto, K. (2015). Who should review my code? A file location-based code-reviewer recommendation approach for Modern Code Review. In A. Serebrenik, & B. Adams (Eds.), 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER) - Proceedings: March 2-6, 2015 Montréal, Canada (pp. 141-150). [7081824] IEEE, Institute of Electrical and Electronics Engineers. https://doi.org/10.1109/SANER.2015.7081824