|
||
git clone https://github.com/masud-technope/CORRECT-Replication-Package-ICSE2016.git
|
||
Abstract: Peer code review locates common coding rule violations and simple logical errors in the early phases of software development, and thus reduces overall cost. However, in GitHub, identifying an appropriate developer for code review during pull request submission is a non-trivial task. In this paper, we propose a heuristic ranking technique that considers not only the cross-project work history of a developer but also her experience in certain technologies associated with a pull request for determining her expertise as a potential code reviewer. We first motivate our technique using an exploratory study with 20 commercial projects. We then evaluate the technique using 13,081 pull requests from ten projects, and report 92.15% accuracy, 85.93% precision and 81.39% recall in code reviewer recommendation which outperforms the state-of-the-art technique. |
||
Replication Package
System Requirements:
CORRECT Overview Plug-in Prototype & Manuals Note: This browser plug-in was intended for Vendasta Technology onlyDataset
We conducted experiments using a dataset of 13,081 pull requests from 10 commercial subject systems from Vendasta technologies.
Due to non-disclosure agreement (NDA), the detailed dataset cannot be shared at this moment. However, we provided sample dataset (i.e., Google Drive) to demonstrate how our tool can be run and evaluated. Recently, we started working on journal version, and hope to upload the complete dataset once it is published and legal issues are cleared by the company.
Tool Installation:
Input Data Preparation:
Running CORRECT:
Reviewer recommendation: Execute the following command with your custom parameters:
java -jar correct-exec.jar -reponame sample -inputprfile ./sample-prlist.txt -outputfile ./sample-output.txt -K 5 -tsize 30 -task recommend
Tool Evaluation: Once the tool is done, you can compare the recommended reviewers with the ground truth provided above (i.e., PR folder). You can calculate the performance by executing the following command with your custom parameters:
java -jar correct-exec.jar -reponame sample -outputfile ./sample-output.txt -K 5 -task evaluate
Snapshot of CORRECT's Evakuation:
CORRECT Library Installation:
Accessing CORRECT Library (Sample Code):
Reviewer Recommendation:
Evaluating CORRECT
|
||
Related Publication(s)
@inproceedings{icse2016masud, author = {Rahman, M. M. and Roy, C. K. and Collins, J.}, title = {{CORRECT: Code Reviewer Recommendation Based on Cross-Project and Technology Experience}}, booktitle = {Proc. ICSE-C}, year = {2016}, pages = {222--231} } @inproceedings{ase2016masud-correct, author = {Rahman, M. M. and Roy, C. K. and Redl, J and Collins, J.}, title = {{CORRECT: Code Reviewer Recommendation at GitHub for Vendasta Technologies}}, booktitle = {Proc. ASE}, year = {2016}, pages = {792--797} } |
||
← Check out other tools by Masud Rahman |
||
© Masud Rahman, Computer Science, University of Saskatchewan, Canada. |