[发明专利]一种基于CS-ANN的软件缺陷预测方法在审
申请号: | 201510955883.6 | 申请日: | 2015-12-17 |
公开(公告)号: | CN105608004A | 公开(公告)日: | 2016-05-25 |
发明(设计)人: | 于倩;王海林;李彤;郁湧 | 申请(专利权)人: | 云南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 合肥顺超知识产权代理事务所(特殊普通合伙) 34120 | 代理人: | 俞强 |
地址: | 650091 云南省昆*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cs ann 软件 缺陷 预测 方法 | ||
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于CS-ANN的软件缺陷预测方 法。
背景技术
随着计算机软件需求的不断增多,软件的复杂度越来越大。开发起来也随着变的 越来越困难。如今各行各业都对软件有一定的依赖,软件在运行过程中一旦出错,就可能造 成非常严重的后果,造成这一后果的根本原因就是软件中存在缺陷。软件工程理论指出,测 试能证明软件中存在缺陷,不能证明软件中没有缺陷。可见在实际开发过程中,找出软件的 缺陷是非常困难的。并且还受到开发资源和时间等因素的限制,能够在有限的资源下尽可 能多的找出软件中存在的缺陷是现在所面临的问题。在软件缺陷预测中,将描述是否存在 缺陷的最小软件单元称为软件模块。在对软件模块属性进行度量时,使用最广泛的是代码 度量属性McCabe和Halstead。McCabe基于对程序拓扑结构的复杂度分析,度量软件模块的 内部结构属性;Halstead以程序中出现的操作符和操作数为计数对象,用于测量软件模块 的规模。这两种度量属性对于构建软件缺陷预测模型都是有效的,模型的性能取决于构建 算法的选择。运用软件度量预测软件错误最早是由Porter和Selby在1990年开始的。从那时 起有大量的基于度量标准的错误预测。至今,已经有很对研究者开发和验证了一些错误预 测模型,这些模型都是用机器学习和统计学技术建立的。为了提高模型的性能,他们使用了 不同类型的软件度量和多种多样的特征选择技术。机器学习算法如神经网络、支持向量机 和集成算法等都被用来构建软件缺陷预测模型。但是由于软件项目类型、算法参数设置和 预测模型评价指标的不同,不存在性能最好的模型构建通用算法。现有的机器学习方法,如 决策树、朴素贝叶斯和逻辑回归等算法,都可以用来构造软件缺陷预测模型。但是预测精确 率较低,且对于不平衡数据,性能影响较大,这些模型的实用性不强。其他学者也提出了基 于机器学习算法的改进算法,在某些特定的领域也取得了不错的效果,如集成学习,神经网 络等,以及结合一些启发式算法,如人工蜂群和遗传算法,提出的模型。但是这些算法设置 参数相对繁琐,且设置不同的参数,对模型的性能影响较大。软件测试花费的工作量经常比 其他任何软件工程活动都多。若测试是无计划地进行,既浪费时间,又会做很多不必要的劳 动。缺陷预测模型旨在识别有缺陷倾向的软件组件,从而权衡质量保证(QA)活动。有了软件 缺陷预测模型,QA测试小组就可以集中关注软件模块的部分子集,从而能在有限的时间和 资源下,尽可能多的找出软件中存在的缺陷。
现有的模型都是基于机器学习算法构建的,但是传统的模型精确率低,且遇到不 平衡数据,预测性能会受很大的影响。
发明内容
本发明的目的在于提供一种基于CS-ANN的软件缺陷预测方法,旨在解决现有的软 件缺陷预测模型精确率低,且遇到不平衡数据,预测性能会受很大的响的问题。
本发明是这样实现的,一种基于CS-ANN的软件缺陷预测方法,所述基于CS-ANN的 软件缺陷预测方法包括:
所述基于CS-ANN的软件缺陷预测方法分为训练和预测两个过程,训练过程是使用 历史数据对模型进行训练,得到此数据集的最佳权值和阈值;预测过程是使用训练过程得 到的权值和阈值对新的数据进行预测,输出新的数据集中的模块有无缺陷,预测时输入的 新数据的属性应和经过特征选择之后的数据有相同的属性。
进一步,所述基于CS-ANN的软件缺陷预测方法具体包括:
输入原始数据集Db,使用WEKA工具里的CFS算法进行特征选择,得到训练数据集 Da;
对原始数据进行处理之后,输入模型对模型进行训练,给出执行过程的伪码:
输入:数据集Da;
输出:最佳权值Wbest和阈值Tbest;
初始化神经网络参数,隐藏层大小hidden_layer_size;
初始化布谷鸟搜索参数//鸟窝W即是所以搜索的神经网络的权值,鸟窝大小n,初 始化鸟窝W,发现概率p,搜索域Lb/Ub,迭代次数iter;
把Da分为Dtrain和Dtest,十折交叉验证;
While(迭代次数小于iter){
通过Lévy飞行方式在[Lb,Ub]内搜索鸟窝W
将W和Dtrain输入神经网络算法,计算代价,保留当前最优鸟窝Wbest
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南大学,未经云南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510955883.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电子设备及通信系统
- 下一篇:一种软件测试系统、方法及装置