摘要
针对软件缺陷预测中标记样本难以获取以及分类不平衡的问题,提出一种基于半监督集成学习方法的软件缺陷预测模型(TriAdaboost).一方面利用欠采样方法以及半监督学习对标记样本进行扩充,随机选取一部分无标记样本进行预标注,缓解标记样本不足的问题;另一方面,利用SMOTE方法对扩充后的标记样本进行采样,然后使用AdaBoost集成方法对标记样本集进行预测.本文在NASA MDP数据集及基于开源项目下生成的空指针引用缺陷数据集上,验证模型的有效性,较于四种基本的机器学习分类方法,TriAdaboost算法在F-measure和AUC上均能取得较高的值.