Abstract

In pull-based software development, anyone who wants to contribute to a project can request integration of the code changes to the public repository by sending a pull request to the development team. Upon receiving a pull request, a team member will review the changes and decide on merging it or not in the repository. Finding the appropriate reviewer for a pull request is a crucial step. To support reviewer recommendation, this paper introduces an adaptive ranking model to rank all the reviewer candidates for a pull request. The ranking model leverages 14 features to measure the relationships between a pull request and the reviewer candidates. The weight parameters of the ranking model are trained automatically based on previously resolved pull requests by using a learning-to-rank technique. The experimental evaluations on 12 open-source projects show that the proposed approach outperforms the baseline and a state-of-the-art approach. It can recommend the suitable reviewers within top-1 recommendation for over 80% of the pull requests in the opencv and jekyll projects. The feature selection experiments show that the most important feature is the feature that counts the number of previous pull requests sent by the requester and reviewed by a developer. The feature that measures the file path similarity between files changed in the pull request and files previously modified by a developer is another important feature.

Highlights

  • Github is a widely used code hosting site that supports collaborative development

  • Yu et al [6] proposed a Vector Space Model (VSM)based machine learning (ML) approach and a comment network (CN) approach to recommend developers to comment on pull requests

  • A developer who wants to contribute to a project can request an integration of the code changes by sending a pull request

Read more

Summary

INTRODUCTION

Github is a widely used code hosting site that supports collaborative development. According to the official statistics, as of June 2018, Github has over 28 million users and 57 million repositories. Normal conversation comments may be initiated by core team members or external developers to discuss any issues about the pull request. Yu et al [6] proposed a Vector Space Model (VSM)based machine learning (ML) approach and a comment network (CN) approach to recommend developers to comment on pull requests. Later, they [7] used an information retrieval (IR)-based approach and a file location technique proposed by Thongtanunam et al to improve the performance. Another research area aims at assigning core members to integrate the changes Such integrators are reviewers, who review the changes and make the final decision to either approve or reject a pull request.

RELATED WORK
FILE PATH SIMILARITY
TITLE SIMILARITY
ACTIVENESS
DAYS OF THE WEEK
FEATURE SCALING
DATA COLLECTION
SPLITTING THE DATASET
Findings
CONCLUSION
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.