[논문 리뷰] Which Pull Requests Get Accepted and Why? A study of popular NPM Packages
이 연구는 인기 있는 NPM 패키지에서 피어리뷰(PR)가 한 달 이내에 수락될 가능성을 예측하기 위해 랜덤 포레스트 모델을 개발하였다. 저자 활동, PR 메타데이터, 프로젝트 맥락의 14개 핵심 예측 변수를 사용하여 모델은 AUC-ROC 0.95를 달성하여 PR 수락 예측 정확도가 매우 높음을 보였다. 특히 개발자 명성 지표와 초기 PR 특성에서 강력한 예측 능력을 보였다.
Background: Pull Request (PR) Integrators often face challenges in terms of multiple concurrent PRs, so the ability to gauge which of the PRs will get accepted can help them balance their workload. PR creators would benefit from knowing if certain characteristics of their PRs may increase the chances of acceptance. Aim: We modeled the probability that a PR will be accepted within a month after creation using a Random Forest model utilizing 50 predictors representing properties of the author, PR, and the project to which PR is submitted. Method: 483,988 PRs from 4218 popular NPM packages were analysed and we selected a subset of 14 predictors sufficient for a tuned Random Forest model to reach high accuracy. Result: An AUC-ROC value of 0.95 was achieved predicting PR acceptance. The model excluding PR properties that change after submission gave an AUC-ROC value of 0.89. We tested the utility of our model in practical scenarios by training it with historical data for the NPM package extit{bootstrap} and predicting if the PRs submitted in future will be accepted. This gave us an AUC-ROC value of 0.94 with all 14 predictors, and 0.77 excluding PR properties that change after its creation. Conclusion: PR integrators can use our model for a highly accurate assessment of the quality of the open PRs and PR creators may benefit from the model by understanding which characteristics of their PRs may be undesirable from the integrators' perspective. The model can be implemented as a tool, which we plan to do as a future work.
연구 동기 및 목표
- 인기 있는 NPM 패키지에서 PR가 생성된 지 한 달 이내에 수락될 가능성이 가장 높은 PR을 특정하는 것.
- 저자 특성, PR 속성, 프로젝트 맥락이 PR 수락 확률에 미치는 영향을 이해하는 것.
- PR 통합자들이 작업을 우선시하고 기여자들이 제출물을 개선하는 데 도움이 되는 예측 모델을 구축하는 것.
- 실용적 적용 가능성을 확보하기 위해 머지 전 PR 속성만을 사용하여 모델 성능을 평가하는 것.
제안 방법
- GitHub API를 사용하여 인기 있는 NPM 패키지 4,218개(월간 다운로드 수 10,000회 이상)에서 483,988개의 PR을 수집하였다.
- 저자 활동(예: 커밋 수, 프로젝트 수, 블롭 수), PR 메타데이터(예: 파일 수, 변경된 라인 수), 프로젝트 수준 기능(예: 스타 수, 이슈 수)을 포함한 총 50개의 예측 변수를 추출하였다.
- 이전 PR 수락 데이터를 기반으로 랜덤 포레스트 분류기를 훈련하여 생성 후 한 달 이내 수락 여부를 예측하였다.
- 모델 튜닝 및 특성 중요도 분석을 통해 14개의 가장 예측력 있는 특성을 선별하였다.
- 전체 및 머지 전 전용 특성 세트를 사용하여 AUC-ROC를 기반으로 모델 성능을 평가하였다.
- 부트스트랩 패키지의 향후 PR을 대상으로 훈련한 데이터를 사용하여 실용적 유용성을 검증하였다.
실험 결과
연구 질문
- RQ1PR가 제출된 지 한 달 이내에 수락될 가능성을 가장 강하게 예측하는 PR 특성은 무엇인가?
- RQ2개발자 명성 및 경험 지표는 PR 수락 확률에 어떤 영향을 미치는가?
- RQ3PR 생성 시점에 이용 가능한 정보만으로 PR 수락을 어느 정도 정확하게 예측할 수 있는가?
- RQ4생성 후 PR 속성(예: 댓글, 리뷰 댓글)을 포함할 경우 예측 정확도는 어떻게 변화하는가?
주요 결과
- 14개의 선택된 예측 변수를 모두 사용할 경우 모델은 AUC-ROC 0.95를 달성하여 PR 수락 예측 정확도가 매우 높음을 보였다.
- 생성 후 PR 속성(예: 댓글, 리뷰 댓글)을 제외한 경우에도 AUC-ROC 0.89를 기록하여 초기 신호만으로도 뛰어난 강건성을 보였다.
- 부트스트랩 패키지의 향후 PR에 대해 테스트한 결과, 14개 예측 변수를 모두 사용할 경우 AUC-ROC 0.94를 달성하여 실용적 예측 능력이 확인되었다.
- 생성 후 PR 속성을 제외한 경우 모델 성능은 AUC-ROC 0.77로 떨어졌으며, 이는 동적 상호작용 신호의 가치를 강조한다.
- 700개 이상의 프로젝트에서 경험을 쌓고, 1,000개 이상의 커밋과 3,000개 이상의 블롭을 기여한 저자는 PR 수락 확률이 크게 증가하였으며, 이는 명성 기반 임계값 효과를 시사한다.
- 놀랍게도 프로젝트 인기 지표(예: 스타 수, 포크 수) 및 이슈 해결 지표는 유의미한 예측 변수로 나타나지 않아, 수락 결정에 미치는 영향이 제한적임을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.