摘要

软件缺陷预测是一种可提高软件系统质量和优化测试资源分配的软件系统可靠性保证方法。当软件历史仓库中有标记训练模块较少时,应用机器学习方法构建有效的预测分类器是一个有挑战性的问题。为此,提出了一种基于非负稀疏图的协同训练软件缺陷预测方法,该方法汇集基于图的半监督学习方法和协同训练方法的优点,对无标记数据进行显示置信度估计。其利用软件模块间的相似性构建一个非负稀疏图,图中边的权重反映了样本间的相似度;利用协同训练的三个分类器对无标记样本的隐式选择和显示计算其所属类别的置信度,选取可靠的无标记样本辅助有标记样本进行训练以减少噪声数据的引入,并逐个迭代更新分类器,直至达到最大迭代次数或分类器识别率降低为止。基于NASA M DP数据集的验证实验结果表明,所提出的方法优于具有代表性的半监督协同训练方法。