论被浪费的贡献:理解贡献者废弃拉取请求的动态机制
软件工程
2024-08-23 v2 人工智能
机器学习
摘要
基于拉取请求(pull-based)的开发模式使众多志愿者能够以更低的门槛为开源项目做出贡献。然而,大量含有有效贡献的拉取请求(PRs)被其贡献者废弃,浪费了贡献者与维护者双方投入的精力与时间。为更好地理解贡献者废弃 PR 的潜在动态,我们采用定量与定性相结合的混合方法开展研究。我们构建了一个包含 265,325 个 PR(其中 4,450 个为废弃 PR)的数据集,这些 PR 来自十个热门且成熟的 GitHub 项目,并度量了刻画 PR、贡献者、审查流程及项目的 16 个特征。利用统计与机器学习技术,我们发现复杂的 PR、新手贡献者以及冗长的审查具有更高的废弃概率,且 PR 废弃率随项目成熟度或工作量的变化而波动。为识别贡献者废弃 PR 的原因,我们还手动检查了 354 个废弃 PR 的随机样本。我们观察到最频繁的废弃原因与贡献者面临的障碍有关,其次是审查过程中维护者施加的阻碍。最后,我们调查了所研究项目的核心顶级维护者,以了解他们对处理 PR 废弃问题及对我们研究发现的看法。
引用
@article{arxiv.2110.15447,
title = {On Wasted Contributions: Understanding the Dynamics of Contributor-Abandoned Pull Requests},
author = {SayedHassan Khatoonabadi and Diego Elias Costa and Rabe Abdalkareem and Emad Shihab},
journal= {arXiv preprint arXiv:2110.15447},
year = {2024}
}
备注
Manuscript accepted for publication in ACM Transactions on Software Engineering and Methodology (TOSEM)