中文

利用源代码变更提升提交到维护活动的自动分类

软件工程 2017-11-16 v1

摘要

背景:理解源代码仓库中执行的维护活动,可帮助从业者通过提前规划与预先分配资源来减少不确定性并提升成本效益。研究界将维护活动分为 3 个主要分类类别:纠正性:故障修复;完善性:系统改进;适应性:新特性引入。该领域先前工作多集中于在单一软件项目范围内评估提交分类(到维护活动)模型。目标:本文旨在设计一种能够在不同项目间提供高准确率与 Kappa 值的提交分类模型。此外,我们希望比较利用词频分析、源代码变更及其组合的 classification 模型的准确率与 kappa 特征。方法:我们提出一种利用源代码变更(如语句添加、方法移除等)将提交自动分类到维护活动的新方法。所报告结果基于对来自不同专业领域的 11 个流行开源项目的研究,我们手动分类了其中 1151 个提交,每个研究项目超过 100 个。我们的模型使用数据集的 85% 训练,其余 15% 作为测试集。结果:我们的方法在测试集上展现出 76% 的 promising 准确率与 63% 的 Cohen's kappa(在此语境中视为“良好”),较跨项目分类提升了超过 20 个百分点,相对提升约 40%。结论:我们表明,通过将源代码变更与提交信息词频分析结合使用,能够以与项目无关的方式显著提升分类质量。

关键词

引用

@article{arxiv.1711.05340,
  title  = {Boosting Automatic Commit Classification Into Maintenance Activities By Utilizing Source Code Changes},
  author = {Stanislav Levin and Amiram Yehudai},
  journal= {arXiv preprint arXiv:1711.05340},
  year   = {2017}
}

备注

postprint, PROMISE 2017