CTCPPre: A prediction method for accepted pull requests in GitHub
Jing Jiang , Jia-teng Zheng , Yun Yang , Li Zhang
Journal of Central South University ›› 2020, Vol. 27 ›› Issue (2) : 449 -468.
CTCPPre: A prediction method for accepted pull requests in GitHub
As the popularity of open source projects, the volume of incoming pull requests is too large, which puts heavy burden on integrators who are responsible for accepting or rejecting pull requests. An accepted pull request prediction approach can help integrators by allowing them either to enforce an immediate rejection of code changes or allocate more resources to overcome the deficiency. In this paper, an approach CTCPPre is proposed to predict the accepted pull requests in GitHub. CTCPPre mainly considers code features of modified changes, text features of pull requests’ description, contributor features of developers’ previous behaviors, and project features of development environment. The effectiveness of CTCPPre on 28 projects containing 221096 pull requests is evaluated. Experimental results show that CTCPPre has good performances by achieving accuracy of 0.82, AUC of 0.76 and F1-score of 0.88 on average. It is compared with the state of art accepted pull request prediction approach RFPredict. On average across 28 projects, CTCPPre outperforms RFPredict by 6.64%, 16.06% and 4.79% in terms of accuracy, AUC and F1-score, respectively.
accepted pull request / prediction / code review / GitHub / pull-based software development
| [1] |
|
| [2] |
|
| [3] |
|
| [4] |
|
| [5] |
|
| [6] |
|
| [7] |
|
| [8] |
|
| [9] |
|
| [10] |
|
| [11] |
|
| [12] |
|
| [13] |
GMETHVIN. Use by-name parameter for Properties.*OrElse[EB/OL].[2018-05-06]. https://github.com/scala/scala/pull/6885. |
| [14] |
|
| [15] |
YUE Yue. All projects csv. [EB/OL].[2016-07-04]. https://github.com/Yuyue/pullreq_ci/blob/master/all_projects.csv. |
| [16] |
|
| [17] |
|
| [18] |
|
| [19] |
|
| [20] |
Assigning issues and pull requests to other GitHub users[EB/OL].[2018-05-10]. https://help.github.com/en/articl es/assigning-issues-and-pull-requests-to-other-github-users. |
| [21] |
|
| [22] |
Assignees [EB/OL].[2018-05-20]. https://developer.github.com/v3/issues/assignees/. |
| [23] |
|
| [24] |
|
| [25] |
|
| [26] |
|
| [27] |
|
| [28] |
|
| [29] |
|
| [30] |
|
| [31] |
|
| [32] |
|
| [33] |
|
| [34] |
|
| [35] |
|
/
| 〈 |
|
〉 |