Automated Code Reviewer Recommendation for Pull Requests

Moosa Reza, Mina Sadat | 2021

138 Viewed
  1. Type of Document: M.Sc. Thesis
  2. Language: Farsi
  3. Document No: 54556 (19)
  4. University: Sharif University of Technology
  5. Department: Computer Engineering
  6. Advisor(s): Heydarnoori, Abbas
  7. Abstract:
  8. Nowadays, by distributed software development growth based on pull-requests, it is possible to review code changes before integrating into the master program by a third-party, informally and tool-based which is called Modern Code Review (MCR). Effectively performing MCR can facilitate the software evolution phase through reducing post-release defects. In MCR, after sending the pull request, the developer invites appropriate reviewers to inspect his code. Due to the high volume of requests and potential reviewers in many projects, selecting the appropriate reviewer is difficult and time consuming. Previously, a variety of recommender systems have been proposed that use methods based on heuristic, machine learning and social network to automatically recommend reviewers. Most previous approaches focus on a limited set of features of candidate reviewers, especially their expertise in review, and some have been evaluated on a small data set that is not generalizable. Also, they often don’t have the desired accuracy, precision or recall. Therefore, in this research, considering candidate reviewers experience in reviewing and committing, and developers social relations, we propose a new approach based on heuristic algorithms to automatic code reviewer recommendation. In this approach, we tried to increase the accuracy of the recommendations by calculating the scores relaticely, and taking into account the importance of the recency of the activities in an optimal way. While introducing this approach, the importance of each of the reviewers' features in their suitability for the new request will be examined. Then, we evaluate our approach on five open-source projects from github. The results show that our proposed approach achieves 46%, 85%, and 92% values based on 1-top accuracy, 3-top accuracy and mean reciprocal rank respectively; which outperforms the state-of-the-art approach by 9%, 8% and 7% improvement
  9. Keywords:
  10. Software Evaluation ; Recommender System ; Heuristic Algorithm ; Modern Code Review ; Automated Code Reviewer Recommendation

 Digital Object List