Please use this identifier to cite or link to this item: https://dl.ucsc.cmb.ac.lk/jspui/handle/123456789/4468
Title: Code Reviewer Recommendation system for pull requests
Authors: De Silva, P.Y
Issue Date: 5-Aug-2021
Abstract: Development of software has been drastically changed in the direction of distributed and collaborative environment. Global contributors are encouraged to remotely contribute to open source projects using the pull based model and continuous integration techniques with extremely low barriers. Since this allows external developers to integrate changes into the central repository, maintaining the code quality of the central code base is considered a critical project activity with high importance. Core developers of a project is responsible for maintaining the central code base. Performing a code review before integrating the changes by external developers improves software quality. Identifying the most apposite reviewers for a pull request review is a challenging activity in a distributed software development environment. Identifying the potential candidate reviewer would improve the reviewing latency and will help to provide constructive feedback on the development. This research is an approach to recommend potential reviewer candidates for a pull request. A similarity measure between the novel pull requests and the available pull requests of the repository based on tile and description similarity (text similarity), file path similarity and activeness of the integrators is used as the basis for the approach. Upon analyzing on the literature, it was revealed that activeness of the integrators is not considered for recommendation of reviewers in state-of-the-art approaches. Most research is based on one factor either on text similarity, file path similarity, expertise of developers or social network and relationships of developers. This approach is a combination of multiple factors and uniquely considers activeness of the integrators towards development of the recommendation algorithm. On submission of a novel pull request, an average integrator score is calculated for each of the integrators of the repository by the similarity between the novel pull request and the older PR’s he/she has reviewed. Ranking of the integrators based he integrator score is used for generation of the recommendation list for reviewers. Feature weighting is done, and the accuracy is compared against different weighting combinations. Experimentation is done based on three github repositories - Akka, Bitcoin and Rubocop which are developed on different programming languages. This approach yields and average accuracy of 82% across multiple repositories.
URI: http://dl.ucsc.cmb.ac.lk/jspui/handle/123456789/4468
Appears in Collections:2020

Files in This Item:
File Description SizeFormat 
2017 MCS 021.pdf1.37 MBAdobe PDFView/Open


Items in UCSC Digital Library are protected by copyright, with all rights reserved, unless otherwise indicated.