EarlyPR: Early Prediction of Potential Pull-Requests from Forks

EarlyPR: Early Prediction of Potential Pull-Requests from ForksThis repository contains the code necessary to replicate the findings presented in the paper "EarlyPR: Early Prediction of Potential Pull-Requests from Forks".Folder Structuredatasets: data and preprocessing method for generating the required dataset.pr_run.py: The training entrance for RQ1.mergedpr_run.py: The training entrance for RQ2.test.py: The overall test and TemporalFilter implemented for RQ1 and RQ2.confusionMatrixCalculation.py: Running this script could directly derive the confusion matrix and the metrics conclusion for RQ1 and RQ2.Tables folder: This folder contains the tables and figures generated by this repository, which are also presented in the paper.CONSTANT: This folder contains the constant variables for the whole project, including mongoDB connection, Redis connection and Mapping tables.performPredict folder The metrics evaluated for RQ1 and RQ2.models folder : The main experiments and ablation model introduced.saveRunningResults folder : The running results of the prediction process. It is composed of the prediction results of the PRs and merged PRs for main experiments including EarlyPR and RandomPR.Running the scriptsThis paper contains two research questions and 16 different repositories, and the code for each research question is in the corresponding file.The command and the parameters for training the PRs' prediction process is as follows, change the repo_name to the repository you want to train.```pythonnohup python -u pr_run.py --repo_name corefx --do_train --device 0 > trainCorefx.log 2>&1 &```The command and the parameters for training the merged PRs' prediction process is as follows:```pythonnohup python -u mergedpr_run.py --repo_name corefx --do_train --device 0 > trainMergeCorefx.log 2>&1 &```The parameters needed for testing PRs' and mergedPRs' prediction codes are as follows:```pythonnohup python -u pr_run.py --do_test --mergedPRTest True --repo_name corefx --modelPath "output/pr_output/servo/" --MPmodelPath "output/mergepr_output/servo/" > TestCorefx.log 2>&1 &```We also provide the running results of the prediction process in the folder **saveRunningResults**. It contains the prediction results of the PRs and merged PRs for main experiments including **EarlyPR** and **RandomPR**. You can directly execute the following command to obtain the main experimental results presented in Tables 3 and Figure 3.```pythonpython confusionMatrixCalculation.py```RequirementsThe requirements for running this repository are all in the requirements.yaml file. You can install them by running the following command:```pythonconda env create -f requirement.yaml```

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-12-12
DOI
https://doi.org/10.5281/zenodo.11634868
Primary Topic
Software System Performance and Reliability
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

EarlyPR: Early Prediction of Potential Pull-Requests from Forks

Zenodo (CERN European Organization for Nuclear Research)
Software System Performance and Reliability
article

EarlyPR: Early Prediction of Potential Pull-Requests from Forks

article en

Abstract

EarlyPR: Early Prediction of Potential Pull-Requests from ForksThis repository contains the code necessary to replicate the findings presented in the paper "EarlyPR: Early Prediction of Potential Pull-Requests from Forks".Folder Structuredatasets: data and preprocessing method for generating the required dataset.pr_run.py: The training entrance for RQ1.mergedpr_run.py: The training entrance for RQ2.test.py: The overall test and TemporalFilter implemented for RQ1 and RQ2.confusionMatrixCalculation.py: Running this script could directly derive the confusion matrix and the metrics conclusion for RQ1 and RQ2.Tables folder: This folder contains the tables and figures generated by this repository, which are also presented in the paper.CONSTANT: This folder contains the constant variables for the whole project, including mongoDB connection, Redis connection and Mapping tables.performPredict folder The metrics evaluated for RQ1 and RQ2.models folder : The main experiments and ablation model introduced.saveRunningResults folder : The running results of the prediction process. It is composed of the prediction results of the PRs and merged PRs for main experiments including EarlyPR and RandomPR.Running the scriptsThis paper contains two research questions and 16 different repositories, and the code for each research question is in the corresponding file.The command and the parameters for training the PRs' prediction process is as follows, change the repo_name to the repository you want to train.```pythonnohup python -u pr_run.py --repo_name corefx --do_train --device 0 > trainCorefx.log 2>&1 &```The command and the parameters for training the merged PRs' prediction process is as follows:```pythonnohup python -u mergedpr_run.py --repo_name corefx --do_train --device 0 > trainMergeCorefx.log 2>&1 &```The parameters needed for testing PRs' and mergedPRs' prediction codes are as follows:```pythonnohup python -u pr_run.py --do_test --mergedPRTest True --repo_name corefx --modelPath "output/pr_output/servo/" --MPmodelPath "output/mergepr_output/servo/" > TestCorefx.log 2>&1 &```We also provide the running results of the prediction process in the folder **saveRunningResults**. It contains the prediction results of the PRs and merged PRs for main experiments including **EarlyPR** and **RandomPR**. You can directly execute the following command to obtain the main experimental results presented in Tables 3 and Figure 3.```pythonpython confusionMatrixCalculation.py```RequirementsThe requirements for running this repository are all in the requirements.yaml file. You can install them by running the following command:```pythonconda env create -f requirement.yaml```

Zenodo (CERN European Organization for Nuclear Research)
Openalex Percentile: Top 52%
Software System Performance and Reliability
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.