论文部分内容阅读
软件缺陷预测作为当今计算机科学研究的热点领域之一,在最近十多年以来取得了重大的发展。软件缺陷预测的主要目的是为软件测试人员做出指导,指引软件测试人员重点测试软件系统容易出现问题的地方,避免测试人员在没有问题的地方浪费大量的人力和物力成本。软件缺陷预测主要是通过对历史数据的分析和软件特征的提取,通过建立缺陷预测模型来挖掘软件中潜藏的缺陷。软件缺陷预测不仅丰富了缺陷预测理论体系,而且还带动了计算机科学中其他方面的发展,因此具有重要的研究意义。本文从特征选择和软件缺陷预测方法两个方面进行了研究。本文的主要研究内容如下:针对缺陷数据集中有缺陷数据太少,数据集中属性的冗余项过多,数据集中的类不平衡和特征不明显问题,本文提出了一种加权最近邻特征选择方法。该方法对最近邻特征选择方法进行了改进,使用距离加权和属性加权两种方式进行权重更新,对不同的属性和不同的距离赋予不同的权重,对权重高的特征优先进行选择。将本文提出的特征选择方法在NASA公开数据集上进行实验,实验中采用RF、OR、CL、GR四种常用的特征选择方法和提出的加权最近邻特征选择方法做实验对比,并且绘制了10幅加权最近邻特征选择方法和RF方法的实验效果对比图。与此同时,为了进一步证明提出的加权最近邻特征选择方法是有效的,通过采用Wilcoxon符号秩检验方法和Cohen’s效应量方法,对实验的结果做数据表进行统计和分析。实验结果表明,本文提出的加权最近邻特征选择方法优于上述四种方法。针对现有模型对软件缺陷预测准确度低的问题,本文提出了一种基于关联规则和人工神经网络相结合的软件缺陷预测方法(GRAR_ANN)。该方法由数据处理和模型训练两大部分组成。数据处理是对数据集中的特征采用加权最近邻特征选择方法进行特征选择;模型训练由GRAR-Mining算法和GRAR分类算法组成。将特征选择之后的数据集在本文中选用的两种人工神经网络(MLP和RBFN)上进行训练,得出GRAR-Mining算法,将GRAR-Mining算法的输出作为GRAR分类算法的输入。选用特征和样本分布均不同于训练集的数据集作为测试集,按照这个规则选用10个公开的数据集设计实验进行验证,并和常见的15种缺陷预测模型的结果做对比。实验结果表明,提出的GRAR_ANN缺陷预测方法比对比方法的准确率提高了5%左右。因此,GRAR_ANN缺陷预测方法比同类预测方法有更好的实验效果。