在软件缺陷预测的回归建模中,由静态代码提取的类层面度量元(特征)以及由方法聚合(sum、avg、max、min)到类的特征往往较多,使用传统的特征选择方法(如AIC、BIC)通常先要确定了模型,不同的模型选出的特征集差异较大,且模型的可解释性差.最大信息系数MIC (maximal information coefficient)是Reshef等[4]提出的度量两个连续变量之间相互依赖程度的一个指标,且有基于观测数据的计算办法.本文基于软件缺陷个数与各特征的MIC度量先选择特征,再对所选特征进行了适当的幂次变换,最后使用主成分泊松和负二项回归建模.本文实验基于NASA的KC1的类层面数据集,采用了m×2交叉验证的序贯t-检验来对两模型的性能差异的显著性进行检验,模型性能评价指标采用FPA、AAE、ARE.实验结果表明:1)基于MIC选出的特征主要是sum、avg、max三种聚合模式特征,与AIC、BIC方法有明显的差异;2)对特征做适当的幂次变换在多数模型下可以改善其性能;3)对特征做幂次变换后,做主成分分析与因子分析可以得到两个明显的因子,其一个因子正好对应avg与max聚合模式的特征集,另一个因子正好对应sum的聚合模式特征集,使得模型具有较好的可解释性.综合实验的各项指标可以得出,sum、avg、max三种聚合模式对软件缺陷预测有显著作用,且基于MIC所选特征而构造的模型是有优势的.
MIC度量 软件缺陷预测 泊松回归模型 负二项回归模型 m×2交叉验证序贯t-检验