[发明专利]一种基于复杂加权软件网络的软件缺陷预测方法有效
申请号: | 201710984718.2 | 申请日: | 2017-10-20 |
公开(公告)号: | CN107665172B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 危胜军;何涛;单纯;胡昌振 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N7/00;G06N20/00 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高燕燕 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 复杂 加权 软件 网络 缺陷 预测 方法 | ||
本发明提出一种基于复杂加权软件网络图的软件缺陷预测方法,能够提高针对大规模复杂软件的缺陷预测精度。包括以下步骤:步骤一、针对所预测的软件,建立复杂加权软件网络图;步骤二、确定步骤一建立的复杂加权软件网络图中每个节点的网络属性值;步骤三、从公开的软件缺陷库中搜集针对该预测软件的所有软件缺陷,建立该软件的历史缺陷库,并在历史缺陷库中标明每个软件模块的缺陷标签;骤四、将步骤二中计算确定的针对每个节点的网络属性值作为机器学习算法的输入,将步骤三中标明的缺陷标签作为机器学习算法的输出,对机器学习算法进行训练和测试,根据机器学习算法的性能评价指标确定性能最优的预测模型。
技术领域
本发明涉及一种基于复杂加权软件网络的软件缺陷预测方法,属于软件质量保障技术领域。
背景技术
目前,常用的软件缺陷预测采用机器学习方法建立软件缺陷预测模型,建立过程如图1所示:
①软件源代码模块的度量元建立:针对所预测软件的软件源代码模块建立度量软件源代码模块的质量指标。
软件源代码模块是一段代码,可自行定义。目前所采用的度量元指标主要针对软件的两个方面:一是针对源代码本身,关注程序模块的代码规模和内在复杂度等属性,例如,采用面向对象开发程序的CK指标,包括WMC、DIT、NOC、CBO、RFC和LCOM等;二是针对软件开发过程,关注软件开发过程中的环境因素,包括代码修改特征、开发人员经验、模块间的依赖性以及项目团队组织构架等。
②软件历史缺陷数据库建立:从已经公开的软件缺陷库中收集针对所预测软件的所有历史缺陷,建立针对该软件的软件历史缺陷库。软件历史缺陷库中明确了针对该软件每个软件模块中缺陷的情况,包括缺陷的有和无以及缺陷的数量,将该缺陷情况定义为软件模块的缺陷标签。
③软件缺陷预测机器学习模型的训练、测试:针对所预测的软件,计算软件中每个软件模块的度量元指标的具体数值,利用软件历史缺陷库获得每个软件模块的缺陷标签,然后选择适合于该软件的机器学习算法,将每个软件模块度量元指标的具体数值作为输入,缺陷标签作为输出,建立(训练、测试和参数调整)针对于该软件项目的软件缺陷预测的机器学习模型。
④软件缺陷预测机器学习模型的应用:训练完成以及测试合格的缺陷预测模型可以对该软件的新的软件模块的缺陷情况进行预测。首先计算新的软件模块的度量元指标的具体数值,将数值输入到预测模型中,模型输出的结果即为该软件模块的缺陷标签。
在整个模型建立的过程中,影响预测模型性能的因素有三个方面:度量元指标选取、缺陷库的质量以及具体的机器学习算法。所选取的度量元指标应当能够反映有缺陷模块和没有缺陷模块的本质特征,也就是度量元指标对有缺陷和没有缺陷模块具有一定的区分能力;软件缺陷库的质量也在很多程度上影响到模型的性能,所建立的软件缺陷库应当具有较高的准确性和较好的完备性;机器学习算法本身也具有不同的性能,针对不同的软件,选取适合于本软件的机器学习算法。
软件结构用网络图的形式来描述时,可以在不同粒度的软件模块上抽取网络,包括包、类、方法等。将上述不同粒度的软件模块抽象为节点、他们之间的依赖关系抽象为边,由这些节点和边所构成的软件结构就是软件网络图。
一般情况下,普通软件网络图的连接边中的权值没有设置,或者所有的权值都设置为1,表示所有节点的连接强度相同。实际上,节点之间的连接强度是有差异的,不同类型或不同情况下的节点之间的连接强度均有差异。加权软件网络图是在普通软件网络图的边中引入权值,表示了各个节点之间的连接强度的大小。加权软件网络图更能符合软件网络图的实际情况。加权软件网络图是具有幂率分布的无标度网络图,且满足小世界特性,所以加权软件网络是一种复杂网络图,本发明中称为复杂加权软件网络图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710984718.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:盐水分离压滤机自清洗装置
- 下一篇:盐水分离压滤机反吹装置