System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于知识图谱的软件缺陷预测方法及系统技术方案_技高网

一种基于知识图谱的软件缺陷预测方法及系统技术方案

技术编号:39935573 阅读:30 留言:0更新日期:2024-01-08 22:09
本发明专利技术公开的一种基于知识图谱的软件缺陷预测方法及系统,属于软件缺陷预测技术领域,包括:获得软件缺陷数据所在组件特征和软件缺陷数据自身特征;通过软件缺陷数据所在组件特征及软件缺陷数据自身特征,对软件缺陷识别模型进行训练,获得训练好的软件缺陷识别模型,其中,软件缺陷识别模型,根据软件缺陷数据所在组件特征和软件缺陷数据自身特征,获得各软件缺陷数据间相似度和耦合度;对相似度和耦合度进行加权求和,获得各软件缺陷数据间的关联系数;以各软件缺陷数据为节点,以软件缺陷数据间的关联系数为节点间的连接边,将软件缺陷数据所在组件特征作为节点属性,通过图卷积神经网络构建获得。提高了软件缺陷预测的准确率。

【技术实现步骤摘要】

本专利技术涉及特定计算模型的计算机系统,尤其涉及一种基于知识图谱的软件缺陷预测方法及系统


技术介绍

1、本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。

2、软件缺陷预测是软件测试的重要方法之一。软件缺陷预测根据软件历史开发数据以及已发现的缺陷数据,借助机器学习等方法来预测软件项目中缺陷的数目、类型和所在组件等信息。软件缺陷识别模型可以确定哪些组件具有最大的安全风险,软件工程师可以根据模型预测结果做出风险管理决策,指导安全检查和测试,并确定软件安全防御工作的优先级。

3、然而,在实际测试中,人们发现软件缺陷之间无法做到完全独立存在,而是存在某种关联关系,即某个缺陷被触发时,其他缺陷也会被触发,而现有识别模型通常缺乏对此类关联性的挖掘,导致预测准确度不理想。因此,如何根据语句或缺陷特征快速准确地找出代码组件中潜在的关联缺陷,这也是目前软件测试的需要解决的主要问题之一。

4、专利技术人发现,已有的缺陷关联性挖掘方法存在着各种不足:1、在缺陷分类依据的选择上过于单一;2、仅关注缺陷间的相互关系,并未考虑相似缺陷与代码组件间的适配程度;3、只考虑同类缺陷间的局部关联性,而忽视了不同类别间的全局关联性等。


技术实现思路

1、本专利技术为了解决上述问题,提出了一种基于知识图谱的软件缺陷预测方法及系统,通过本专利技术方法构建的软件缺陷识别模型进行软件缺陷预测时,提高了软件缺陷预测的准确率。

2、为实现上述目的,本专利技术采用如下技术方案:

3、第一方面,提出了一种基于知识图谱的软件缺陷预测方法,包括:

4、获取多个软件缺陷数据;

5、根据软件缺陷数据,获得软件缺陷数据所在组件特征和软件缺陷数据自身特征;

6、将软件缺陷数据所在组件特征及软件缺陷数据自身特征,作为训练数据,对构建的软件缺陷识别模型进行训练,训练完成,获得训练好的软件缺陷识别模型,其中,软件缺陷识别模型,根据软件缺陷数据所在组件特征和软件缺陷数据自身特征,计算获得各软件缺陷数据间相似度;根据软件缺陷数据所在组件特征,计算获得各软件缺陷数据间耦合度;对各软件缺陷数据间相似度和耦合度进行加权求和,获得各软件缺陷数据间的关联系数;以各软件缺陷数据为节点,以软件缺陷数据间的关联系数为节点间的连接边,将软件缺陷数据所在组件特征作为节点属性,通过图卷积神经网络构建获得;

7、通过训练好的软件缺陷识别模型进行软件缺陷预测。

8、第二方面,提出了一种基于知识图谱的软件缺陷预测系统,包括:

9、缺陷数据获取模块,用于获取多个软件缺陷数据;

10、缺陷特征提取模块,用于根据软件缺陷数据,获得软件缺陷数据所在组件特征和软件缺陷数据自身特征;

11、软件缺陷识别模型获取模块,用于将软件缺陷数据所在组件特征及软件缺陷数据自身特征,作为训练数据,对构建的软件缺陷识别模型进行训练,训练完成,获得训练好的软件缺陷识别模型,其中,软件缺陷识别模型,根据软件缺陷数据所在组件特征和软件缺陷数据自身特征,计算获得各软件缺陷数据间相似度;根据软件缺陷数据所在组件特征,计算获得各软件缺陷数据间耦合度;对各软件缺陷数据间相似度和耦合度进行加权求和,获得各软件缺陷数据间的关联系数;以各软件缺陷数据为节点,以软件缺陷数据间的关联系数为节点间的连接边,将软件缺陷数据所在组件特征作为节点属性,通过图卷积神经网络构建获得;

12、软件缺陷预测模块,用于通过训练好的软件缺陷识别模型进行软件缺陷预测。

13、第三方面,提出了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成一种基于知识图谱的软件缺陷预测方法所述的步骤。

14、第四方面,提出了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成一种基于知识图谱的软件缺陷预测方法所述的步骤。

15、与现有技术相比,本专利技术的有益效果为:

16、1、本专利技术从已有的各软件缺陷数据中提取软件缺陷数据所在组件特征和软件缺陷数据自身特征,分别根据软件缺陷数据自身特征和软件缺陷数据所在组件特征,计算获得各软件缺陷数据间相似度和各软件缺陷数据间耦合度,通过各软件缺陷数据间相似度和耦合度计算获得软件缺陷数据间的关联系数,根据软件缺陷数据间的关联系数构建获得软件缺陷识别模型,解决了缺陷关联信息表达方式单一、知识过于分散和关联性不强等问题,当通过本专利技术构建的软件缺陷识别模型进行软件缺陷预测时,提高了软件缺陷预测的准确率。

17、2、本专利技术在将软件缺陷数据所在组件特征添加至为该缺陷数据构建的节点属性中,在后续软件缺陷预测过程中,加入对关联缺陷与代码组件间适配程度的计算,以提高缺陷预测的准确度。

18、本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。

本文档来自技高网...

【技术保护点】

1.一种基于知识图谱的软件缺陷预测方法,其特征在于,包括:

2.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,获取多个软件缺陷数据的数据流和控制流;

3.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,根据软件缺陷数据所在组件特征,确定软件缺陷数据所在组件间的继承和调用关系,根据软件缺陷数据所在组件间的继承和调用关系,确定软件缺陷数据间耦合度。

4.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,采用爬虫技术从软件缺陷数据库中,提取多个软件缺陷数据。

5.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,软件缺陷数据自身特征包括缺陷的影响、缺陷触发、缺陷类型、缺陷限定词和缺陷来源类型。

6.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,软件缺陷数据所在组件特征和软件缺陷数据自身特征,组成软件缺陷数据特征;根据软件缺陷数据特征,计算两个软件缺陷数据相似特征的个数;将相似特征的个数除以每个软件缺陷数据特征的总个数,获得两个软件缺陷数据间相似度。

7.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,在进行软件缺陷预测时,获取待预测软件数据;从待预测软件数据中提取软件数据所在组件特征和软件数据自身特征;将软件数据所在组件特征和软件数据自身特征输入训练好的软件缺陷识别模型中,获得软件数据缺陷预测结果。

8.一种基于知识图谱的软件缺陷预测系统,其特征在于,包括:

9.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-7任一项所述的一种基于知识图谱的软件缺陷预测方法的步骤。

10.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-7任一项所述的一种基于知识图谱的软件缺陷预测方法的步骤。

...

【技术特征摘要】

1.一种基于知识图谱的软件缺陷预测方法,其特征在于,包括:

2.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,获取多个软件缺陷数据的数据流和控制流;

3.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,根据软件缺陷数据所在组件特征,确定软件缺陷数据所在组件间的继承和调用关系,根据软件缺陷数据所在组件间的继承和调用关系,确定软件缺陷数据间耦合度。

4.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,采用爬虫技术从软件缺陷数据库中,提取多个软件缺陷数据。

5.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,软件缺陷数据自身特征包括缺陷的影响、缺陷触发、缺陷类型、缺陷限定词和缺陷来源类型。

6.如权利要求1所述的一种基于知识图谱的软件缺陷预测方法,其特征在于,软件缺陷数据所在组件特征和软件缺陷数据自身特征,组成软件缺陷数据特征;根据软件缺...

【专利技术属性】
技术研发人员:田甜杨欢王苗苗侯铁李成龙
申请(专利权)人:山东建筑大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1