【技术实现步骤摘要】
一种软件多缺陷信息预测方法与系统
[0001]本专利技术涉及软件多缺陷信息预测相关
,尤其是涉及一种软件多缺陷信息预测方法与系统。
技术介绍
[0002]随着软件系统在社会各个领域扮演着重要的角色,软件产生的缺陷对商业和人们的生活产生了重大的影响。然而,由于软件代码库在规模和复杂性上的显著增长,识别软件代码中的缺陷变得越来越困难。传统软件多缺陷信息预测是以手工获取软件度量特征的基础进行分类学习,如机器学习技术已被广泛用于建立缺陷预测模型,这些技术从软件代码中提取出许多特征,并将它们输入到常见的分类器中,但是传统软件多缺陷信息预测方法仅能预测软件是否有缺陷,对软件的多缺陷预测能力不足。
技术实现思路
本专利技术旨在至少解决现有技术中存在的技术问题。为此,本专利技术提出一种软件多缺陷信息预测方法与系统,能够得到更多特征,提升预测能力,实现多缺陷信息预测。
[0003]本专利技术的第一方面,提供了一种软件多缺陷信息预测方法,包括如下步骤:获取历史项目缺陷数据和待预测项目数据;构建第一图注意力网络模型, ...
【技术保护点】
【技术特征摘要】
1.一种软件多缺陷信息预测方法,其特征在于,所述软件多缺陷信息预测方法包括:获取历史项目缺陷数据和待预测项目数据;构建第一图注意力网络模型,将所述历史项目缺陷数据输入所述第一图注意力网络模型进行训练,得到第二图注意力网络模型及其输出的第一内部特征;将所述待预测项目数据输入所述第二图注意力网络模型进行预测,得到第二内部特征;构建第一可扩展的图网络模型,将所述历史项目缺陷数据输入所述第一可扩展的图网络模型进行训练,得到第二可扩展的图网络模型及其输出的第一外部特征;将所述待预测项目数据输入所述第二可扩展的图网络模型进行预测,得到第二外部特征;将所述第一内部特征和所述第一外部特征融合,得到第一融合特征,并将所述第一融合特征与所述历史项目缺陷数据的缺陷信息匹配,得到训练样本;将所述第二内部特征和第二外部特征融合,得到待预测样本;构建第一多预测模型,将所述训练样本输入所述第一多预测模型进行训练,得到第二多预测模型;将所述待预测样本输入所述第二多预测模型进行预测,得到所述待预测项目数据的缺陷信息。2.根据权利要求1所述的一种软件多缺陷信息预测方法,其特征在于,所述获取历史项目缺陷数据,包括:获取初始历史项目数据;根据预设的过滤规则过滤所述初始历史项目数据,得到第一历史项目数据;根据所述第一历史项目数据的问题追踪信息、标签和注释,提取缺陷严重度;根据所述第一历史项目数据的提交请求信息,识别缺陷数量;根据所述第一历史项目数据的源代码和文档、所述缺陷严重度和所述缺陷数量构建历史项目缺陷数据。3.根据权利要求2所述的一种软件多缺陷信息预测方法,其特征在于,所述将所述历史项目缺陷数据输入所述第一图注意力网络模型进行训练,得到第二图注意力网络模型及其输出的第一内部特征,包括:通过javalang计算所述历史项目缺陷数据的源代码,得到第一代码语法树;通过社群检测算法去除所述第一代码语法树中缺陷信息以外的信息,得到第二代码语法树,其中,所述缺陷信息包括缺陷数量和缺陷严重度;将所述第二代码语法树分成若干个子树;并去除所述子树的节点间边的方向,得到第一无向无环图;根据所述第一无向无环图对所述第一图注意力网络模型进行训练,得到所述第二图注意力网络模型及其输出的第一内部特征。4.根据权利要求2所述的一种软件多缺陷信息预测方法,其特征在于,所述将所述历史项目缺陷数据输入所述第一可扩展的图网络模型进行训练,得到第二可扩展的图网络模型及其输出的第一外部特征,包括:将所述历史项目缺陷数据转化得到上下文特征;生成所述历史项目缺陷数据的传统度量特征;根据所述上下文特征与所述传统度量特征进行计算得到第二无向无环图;
根据所述第二无向无环图对所述第一可扩展的图网络模型进行训练,得到第二可扩展的图网络模型及其输出的第一外部特征。5.根据权利要求4所述的一种软件多缺陷信息预测方法,其特征在于,所述将所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。