中文

基于编程语言知识单元预测长期贡献者:一项实证研究

软件工程 2024-05-24 v1

摘要

早期预测潜在的长期贡献者(LTCs)允许项目维护者有效分配资源和导师,以增强其开发和保留。将编程语言专业知识映射到开发者并描述项目如何使用编程语言有助于识别更可能成为 LTC 的开发者。然而,现有预测 LTC 的研究不考虑编程语言技能。本文报告了关于 Java 编程语言知识单元(KUs)用于预测 LTC 的实证研究。KUs 是由一个或多个编程语言构件提供的关键能力集合。我们构建了一个名为 KULTC 的预测模型,该模型利用 KU 基于特征及五个不同维度。我们从研究的 75 个 Java 项目(353K 次提交和 168K 次拉取请求)中检测并分析 KUs,也分析了 4,219 个其他 Java 项目中这些开发者之前工作的记录(170 万次提交)。我们将 KULTC 的性能与称为 BAOLTC 的最新模型进行比较。尽管 KULTC 只关注编程语言视角,但 KULTC 的中位 AUC 至少为 0.75,并且显著优于 BAOLTC。将 KULTC 的特征与 BAOLTC 的特征组合可获得增强型模型(KULTC+BAOLTC),显著优于 BAOLTC,归一化 AUC 改进 16.5%。我们的 SHAP 特征重要性分析表明,开发者在所研究项目中的专业知识是预测 LTC 最具影响力的特征维度。最后,我们开发了一个成本效益高的模型(KULTC_DEV_EXP+BAOLTC),显著优于 BAOLTC。这些鼓舞人心的結果对希望进一步研究开发者参与/保留 FLOSS 项目或构建预测 LTC 模型的研究者有帮助。

关键词

引用

@article{arxiv.2405.13852,
  title  = {Predicting long time contributors with knowledge units of programming languages: an empirical study},
  author = {Md Ahasanuzzaman and Gustavo A. Oliva and Ahmed E. Hassan},
  journal= {arXiv preprint arXiv:2405.13852},
  year   = {2024}
}