利用社交网络对缺陷进行分类:针对四个开源软件社区的案例研究
软件工程
2013-03-04 v2 机器学习
社会与信息网络
适应与自组织系统
物理与社会
摘要
高效的缺陷分流程序是成功开展协作软件工程项目的先决条件。在拥有大量相对缺乏经验的兼职贡献者的开源软件(OSS)项目中,缺陷分流可能成为一项繁重的任务。在本文中,我们提出了一种高效且实用的方法来识别有效的缺陷报告,这些报告 a) 指向实际的软件缺陷,b) 非重复报告,且 c) 包含足以立即处理的信息。我们的分类基于九项指标,用于量化缺陷报告者在协作网络中的社会嵌入度。我们利用从四个主要 OSS 社区的 Bugzilla 系统中获取的涵盖十多年的超过 700,000 份缺陷报告的综合数据集,通过案例研究展示了该方法的适用性。对于那些有效缺陷报告比例最低的项目,我们发现缺陷报告者在协作网络中的位置是缺陷报告质量的强指示器。基于这一发现,我们开发了一种可轻松集成到缺陷跟踪平台中的自动分类方案,并分析了其在所考虑的 OSS 社区中的性能。基于这九项指标识别有效缺陷报告的支持向量机(SVM)实现了高达 90.3% 的精确率,相应的召回率为 38.9%。借此,我们显著改进了先前案例研究中关于自动早期识别最终被修复的缺陷的结果。此外,我们的研究突显了在协作软件工程中利用社会组织定量指标的潜力,也为在支持基础设施设计中融入社会意识开辟了广阔前景。
引用
@article{arxiv.1302.6764,
title = {Categorizing Bugs with Social Networks: A Case Study on Four Open Source Software Communities},
author = {Marcelo Serrano Zanetti and Ingo Scholtes and Claudio Juan Tessone and Frank Schweitzer},
journal= {arXiv preprint arXiv:1302.6764},
year = {2013}
}
备注
preprint of conference proceedings of the 35th International Conference on Software Engineering (ICSE 2013) - Software Engineering in Practice (SEIP) Track