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

Patanamon Thongtanunam, C. Tantithamthavorn, R. Kula, Norihiro Yoshida, Hajimu Iida, Ken-ichi Matsumoto
{"title":"Who should review my code? A file location-based code-reviewer recommendation approach for Modern Code Review","authors":"Patanamon Thongtanunam, C. Tantithamthavorn, R. Kula, Norihiro Yoshida, Hajimu Iida, Ken-ichi Matsumoto","doi":"10.1109/SANER.2015.7081824","DOIUrl":null,"url":null,"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.","PeriodicalId":355949,"journal":{"name":"2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-03-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"202","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SANER.2015.7081824","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 202

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.
谁应该审查我的代码?基于文件位置的现代代码审查推荐方法
软件代码审查是由独立的第三方开发人员对代码更改进行的检查,目的是在集成之前识别和修复缺陷。有效地执行代码审查可以提高软件的整体质量。近年来,现代代码审查(Modern Code Review, MCR),一种轻量级的、基于工具的代码检查,在私有软件和开源软件系统中被广泛采用。在MCR中找到合适的代码审查者是审查代码更改的必要步骤。然而,很少有研究知道在分布式软件开发中寻找代码审查者的困难及其对审查时间的影响。在本文中,我们研究了代码评审分配问题对评审时间的影响。我们发现,有代码审稿人分配问题的评审要多花12天的时间来批准一个代码变更。为了帮助开发人员找到合适的代码审查者,我们提出RevFinder,这是一种基于文件位置的代码审查者推荐方法。我们利用先前审查过的文件路径的相似性来推荐合适的代码审查者。直觉是,位于类似文件路径中的文件将由类似的经验丰富的代码审查人员管理和审查。通过对Android开源项目(AOSP)、OpenStack、Qt和LibreOffice项目的42,045条评论的案例研究进行实证评估,我们发现RevFinder准确推荐了79%的前10条推荐。RevFinder还正确地推荐了中位数为4的代码审阅者。RevFinder的总体排名是基线方法的3倍。我们相信RevFinder可以应用于MCR,以帮助开发人员找到合适的代码审查者,并加快整个代码审查过程。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信