Skip to main content
QUICK REVIEW

[論文レビュー] Which Pull Requests Get Accepted and Why? A study of popular NPM Packages

Tapajit Dey, Audris Mockus|arXiv (Cornell University)|Mar 2, 2020
Software Engineering Research参考文献 29被引用数 12
ひとこと要約

本研究では、人気のあるNPMパッケージにおけるプルリクエスト(PR)が1か月以内に承認される可能性を予測するランダムフォレストモデルを開発した。14の主要な予測変数(著者の活動、PRのメタデータ、プロジェクトの文脈)を用い、AUC-ROCが0.95に達し、PR承認の予測精度が非常に高いことを示した。特に、開発者レピュテーション指標と初期のPR特徴量が強い予測力を持つことが明らかになった。

ABSTRACT

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パッケージにおけるプルリクエストが、提出後1か月以内に承認される可能性を特定すること。
  • 著者の特徴、PRの性質、プロジェクトの文脈がPR承認確率に与える影響を理解すること。
  • PR統合担当者が作業を優先順位付けし、貢献者が自身の提出物を改善するのを支援する予測モデルを構築すること。
  • 実用的適用性を保証するため、マージ前のPR属性のみを用いてモデルの性能を評価すること。

提案手法

  • GitHub APIを用いて、月間ダウンロード数が10,000件以上の4,218の主要なNPMパッケージから483,988件のPRを収集した。
  • 著者の活動(例:コミット、プロジェクト、blob)、PRメタデータ(例:ファイル数、変更された行数)、プロジェクトレベルの特徴量(例:スター数、イシュー数)をカバーする50の予測変数を抽出した。
  • 歴史的PR承認データを用いてランダムフォレスト分類器を訓練し、PR作成後1か月以内の承認を予測した。
  • モデルチューニングと特徴量の重要度分析を通じて、14の最も予測力の高い特徴量を選定した。
  • AUC-ROCを用いて、全特徴量およびマージ前の属性のみの特徴量セットでのモデル性能を評価した。
  • ブートストラップパッケージにおける将来のPRを用いて、実用的価値を検証した。

実験結果

リサーチクエスチョン

  • RQ1プルリクエストが提出後1か月以内に承認されるかどうかを最も強く予測する特徴は何か?
  • RQ2開発者レピュテーションと経験指標は、PR承認確率にどのように影響を与えるか?
  • RQ3PR作成時時点で入手可能な情報のみを用いて、PR承認をどの程度正確に予測できるか?
  • RQ4マージ後におけるPRの属性(例:コメント、レビューコメント)を含めると、予測精度はどの程度向上するか?

主な発見

  • 14の選定済み予測変数をすべて使用した場合、モデルのAUC-ROCは0.95に達し、PR承認の予測精度が非常に高いことを示した。
  • マージ後のPR属性(例:コメント、レビューコメント)を除いても、AUC-ROCが0.89に達したため、初期段階のシグナルのみで高い予測力を持つことが確認された。
  • ブートストラップパッケージの将来のPRをテストしたところ、14の予測変数をすべて使用した場合、AUC-ROCが0.94に達し、実用的な予測能力が裏付けられた。
  • マージ後のPR属性を除いた場合、モデルの性能は0.77に低下したため、動的相互作用シグナルの価値が顕著に示された。
  • 700以上のプロジェクトで経験を積み、1,000件以上のコミット、3,000件以上のblobを扱った著者は、PR承認確率が著しく上昇する傾向を示し、レピュテーションのしきい値効果が確認された。
  • 驚くべきことに、プロジェクトの人気指標(例:スター数、フォーク数)やイシュー解決の指標は有意な予測要因ではなかったため、承認意思決定に与える影響が限定的であることが示唆された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。