论文部分内容阅读
软件缺陷是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。随着计算机技术的不断发展,软件系统的规模及复杂度都呈几何级数增长。复杂的软件结构和巨大的代码数量导致软件测试及缺陷修复工作往往是需要耗费大量人力和时间成本的。软件缺陷预测的目的在于利用特定方法发现软件系统的哪些模块比较可能存在缺陷,或软件系统可能存在的缺陷数目及其分布,从而为软件测试工作提供有意义的指导。在软件缺陷预测技术的研究中,使用具有非线性运算能力的支持向量机方法,对软件的度量元数据和缺陷数据加以分析,建立软件缺陷预测模型的方法已被证明较为有效。但支持向量机缺少统一有效的参数寻优方法。针对这一问题,本文利用遗传算法较好的全局搜索能力和潜在的并行性,提出一种基于遗传优化支持向量机的软件缺陷预测模型。该模型将支持向量机作为软件缺陷预测的分类器,利用遗传算法进行最优度量属性的选择和支持向量机最优参数的计算。相对于传统的主成分分析方法,本方法在度量元属性选择中可以避免有益信息的过早筛除,从而进一步提升软件缺陷预测的准确度。另外,针对遗传算法可能存在的“早熟”、陷入局部最优等问题,本文还提出了动态设置交叉概率和突变概率的改进方法。为了验证该方法的有效性,本文利用NASA的MDP数据集进行了仿真实验,通过最大适应值平均值的对比确定了遗传算法适应函数的参数取值;将改进的遗传算法和传统遗传算法进行了实验对比,通过改进遗传算法在收敛概率和平均收敛代数两个指标上均优于传统遗传算法的结果,证明了其有效性和优越性;分别使用本文及以往传统方法对不同的软件项目进行了缺陷预测,对实验数据进行了认真分析。实验结果表明,本文提出的基于遗传优化支持向量机的软件缺陷预测模型的预测准确度、查准率、查全率等性能指标均优于同类缺陷预测模型。