计算机科学与探索 ›› 2018, Vol. 12 ›› Issue (9): 1420-1433.DOI: 10.3778/j.issn.1673-9418.1707016
陈 翔1,2,沈宇翔1,孟少卿3+,崔展齐4,鞠小林1,2,王 赞5
CHEN Xiang1,2, SHEN Yuxiang1, MENG Shaoqing3+, CUI Zhanqi4, JU Xiaolin1,2, WANG Zan5
摘要: 软件缺陷预测可以通过预先识别出可疑缺陷模块,并随后对其投入足够的测试资源以提高软件质量。但在缺陷预测数据集的搜集过程中,若考虑了多种不同度量元(即特征)会造成维数灾难问题。特征选择是缓解该问题的一种有效方法,其尝试尽可能多地识别并移除已有特征集中的冗余特征和无关特征。然而设计有效的特征选择方法具有一定的挑战性。将软件缺陷预测特征选择问题建模为多目标优化问题,其优化目标包括最小化选出的特征子集规模和最大化随后构建出的缺陷预测模型的预测效果。随后提出MOFES(multi-objective optimization feature selection)方法来尝试平衡这两个可能矛盾的优化目标。为了验证MOFES方法的有效性,选择了来自实际开源项目的数据集PROMISE和RELINK,并且将MOFES方法与一些基准方法(例如GFS、GBS和SOFS)进行了比较。最终结果表明:在可接受的计算开销内,MOFES方法在大部分情况下可以选出规模更小的特征子集,并同时取得更好的模型预测效果。