计算机工程与应用 ›› 2017, Vol. 53 ›› Issue (14): 161-166.DOI: 10.3778/j.issn.1002-8331.1601-0447

• 模式识别与人工智能 • 上一篇    下一篇

基于采样的半监督支持向量机软件缺陷预测方法

廖胜平,徐  玲,鄢  萌   

  1. 重庆大学 软件学院,重庆 401331
  • 出版日期:2017-07-15 发布日期:2017-08-01

Software defect prediction using semi-supervised support vector machine with sampling

LIAO Shengping, XU Ling, YAN Meng   

  1. School of Software Engineering, Chongqing University, Chongqing 401331, China
  • Online:2017-07-15 Published:2017-08-01

摘要: 软件缺陷预测有助于提高软件开发质量,保证测试资源有效分配。针对软件缺陷预测研究中类标签数据难以获取和类不平衡分布问题,提出基于采样的半监督支持向量机预测模型。该模型采用无监督的采样技术,确保带标签样本数据中缺陷样本数量不会过低,使用半监督支持向量机方法,在少量带标签样本数据基础上利用无标签数据信息构建预测模型;使用公开的NASA软件缺陷预测数据集进行仿真实验。实验结果表明提出的方法与现有半监督方法相比,在综合评价指标[F]值和召回率上均优于现有方法;与有监督方法相比,能在学习样本较少的情况下取得相当的预测性能。

关键词: 软件缺陷预测, 半监督, Safe半监督支持向量机(S4VM), 类不平衡, 采样

Abstract: Software defect prediction is helpful to improve the quality of software and effectively allocate test resources. To tackle two practical yet important issues in software defect prediction: labeled data is hard to be collected and class imbalance, a sample based semi-supervised support vector machine method is proposed. This method uses an unsupervised sample approach to sample a small percentage of modules to be tested and labeled, and this sample method can ensure that the defect instances in training sets are not too few. Semi-supervised support vector machine algorithm uses few labeled data combined with unlabeled to build predictor so that the model can exploit the information of unlabeled data. In the evaluation on four NASA projects, the experimental results show that the proposed approach achieves comparable performance compared with supervised learning models, but uses little defect information. Moreover, proposed method’s performance is better than other semi-supervised learning methods in terms of recall and F-measure.

Key words: software defect prediction, semi-supervised, Safe Semi-Supervised Support Vector Machines(S4VM), class imbalance, sample