CN114328277A - 一种软件缺陷预测和质量分析方法、装置、设备及介质 - Google Patents
一种软件缺陷预测和质量分析方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114328277A CN114328277A CN202210234709.2A CN202210234709A CN114328277A CN 114328277 A CN114328277 A CN 114328277A CN 202210234709 A CN202210234709 A CN 202210234709A CN 114328277 A CN114328277 A CN 114328277A
- Authority
- CN
- China
- Prior art keywords
- software
- project
- defect
- module
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种软件缺陷预测和质量分析方法、装置、设备及介质,方法包括:获取不同领域的软件项目历史数据,并根据软件项目历史数据获取不同粒度的项目模块缺陷信息;根据项目模块缺陷信息建立知识图谱;根据知识图谱构建多任务训练模型,并对多任务训练模型进行训练和学习,得到软件质量分析指标的预测结果。采用本发明实施例,能够基于不同领域的软件历史数据,充分利用历史数据的关联性进行关联分析,来获得缺陷预测信息,并基于构建的知识图谱和训练模型,依据缺陷特征建立多个质量分析指标体系,通过预测指标的权重分析,保证质量指标有效性,从而能够直接了解新项目的缺陷预测和产品质量,进一步提高项目管理的工作效率。
Description
技术领域
本发明涉及计算机技术应用领域,尤其涉及一种软件缺陷预测和质量分析方法、装置、设备及介质。
背景技术
随着信息技术、互联网、人工智能等技术的发展,软件越来越复杂,相应的,对软件的质量要求也越来越高。软件质量与软件缺陷息息相关,通过软件缺陷预测,有助于设定各阶段质量目标,进行项目质量策划,提升产品质量。
近年来,基于机器学习、深度学习、集成学习的方法被广泛应用于软件缺陷预测中,上述方法通过建立软件历史数据与缺陷的关系模型对软件模型预测缺陷发生的可能性。但是,本发明人在对现有技术的研究中发现,已有的软件缺陷预测方法不具有跨行业领域的通用性,并不存在一套方法可预测具备不同领域属性的软件项目缺陷。
发明内容
本发明提供一种软件缺陷预测和质量分析方法、装置、设备及介质,进一步提高了项目管理的工作效率。
为实现上述目的,本发明实施例提供了一种软件缺陷预测和质量分析方法,包括以下步骤:
获取不同领域的软件项目历史数据,并根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息;
根据所述项目模块缺陷信息建立知识图谱;
根据所述知识图谱构建多任务训练模型,并对所述多任务训练模型进行训练和学习,得到软件质量分析指标的预测结果;包括:根据所述知识图谱构建多任务训练模型;对所述项目模块缺陷信息进行分词处理,并将经过分词处理后的信息转换为特征向量;将所述特征向量输入到所述多任务训练模型中进行训练和学习,得到软件质量分析指标的预测结果。
作为其中一种可选的实施例,通过以下方式根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息:
从软件数据仓库中获取各个项目的软件项目历史数据;
对所述软件项目历史数据进行不同领域的划分,得到划分后的软件项目历史数据;
基于预设的缺陷预测指标需求,对所述划分后的软件项目历史数据进行不同粒度的信息提取,得到不同粒度的项目模块缺陷信息。
作为其中一种可选的实施例,所述项目模块缺陷信息的提取粒度包括项目、模块、缺陷。
作为其中一种可选的实施例,所述根据所述项目模块缺陷信息建立知识图谱,包括:
对所述项目模块缺陷信息进行数据转换和清洗,并对经过数据转换和清洗后的项目模块缺陷信息进行歧义消除和知识加工处理,得到处理后的项目模块缺陷信息;
将所述处理后的项目模块缺陷信息导入到预设的图数据库中建立知识图谱。
作为其中一种可选的实施例,所述多任务训练模型包括:输入层、连接层、共享层、归一化层、输出层;
所述输入层用于输入所述特征向量,所述连接层用于对所述特征向量进行主成分分析,所述共享层包括知识图谱嵌入模块与交叉压缩单元,用于共享特征,以保持信息互补,所述归一化层用于进行二分类计算,所述输出层用于输出软件质量分析指标的预测结果。
作为其中一种可选的实施例,所述软件质量分析指标包括缺陷密度、平均失效时间间隔、平均修复时间、严重BUG占比、模块缺陷分布、缺陷类型分布。
本发明实施例提供了一种软件缺陷预测和质量分析装置,包括:
缺陷信息获取模块,用于获取不同领域的软件项目历史数据,并根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息;
知识图谱建立模块,用于根据所述项目模块缺陷信息建立知识图谱;
预测结果输出模块,用于根据所述知识图谱构建多任务训练模型,并对所述多任务训练模型进行训练和学习,得到软件质量分析指标的预测结果;包括:根据所述知识图谱构建多任务训练模型;对所述项目模块缺陷信息进行分词处理,并将经过分词处理后的信息转换为特征向量;将所述特征向量输入到所述多任务训练模型中进行训练和学习,得到软件质量分析指标的预测结果。
本发明实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例所述的软件缺陷预测和质量分析方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述实施例所述的软件缺陷预测和质量分析方法。
与现有技术相比,本发明实施例提供的一种软件缺陷预测和质量分析方法、装置、设备及介质,能够基于不同领域跨项目的软件历史数据,充分利用历史数据的关联性进行关联分析,来获得缺陷预测信息,并基于构建的知识图谱和训练模型,依据缺陷特征建立多个质量分析指标体系,通过预测指标的权重分析,保证质量指标有效性,从而能够直接了解新项目的缺陷预测和产品质量,以供质量管理、风险管理、团队管理、成本管理的决策参考,进一步提高项目管理的工作效率。
附图说明
图1是本发明实施例提供的一种软件缺陷预测和质量分析方法的流程示意图;
图2是本发明实施例提供的一种软件缺陷预测和质量分析方法的执行过程的结构示意图;
图3是本发明实施例提供的知识图谱的结构示意图;
图4是本发明实施例提供的一种软件缺陷预测和质量分析装置的结构示意图;
图5是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种软件缺陷预测和质量分析方法,参见图1,是本发明实施例提供的一种软件缺陷预测和质量分析方法的流程示意图,所述方法包括步骤S11至步骤S13:
S11、获取不同领域的软件项目历史数据,并根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息。
具体的,可以通过手工或者自动爬取的方式全量获取软件数据仓库中的跨项目的软件项目历史数据,并根据软件项目历史数据获取不同粒度的项目模块缺陷信息。
S12、根据所述项目模块缺陷信息建立知识图谱。
S13、根据所述知识图谱构建多任务训练模型,并对所述多任务训练模型进行训练和学习,得到软件质量分析指标的预测结果;包括:根据所述知识图谱构建多任务训练模型;对所述项目模块缺陷信息进行分词处理,并将经过分词处理后的信息转换为特征向量;将所述特征向量输入到所述多任务训练模型中进行训练和学习,得到软件质量分析指标的预测结果。
具体的,将特征向量组成的数据集按照一定的比例划分成测试集、训练集以及验证集,并将特征向量作为训练模型的输入进行训练学习,输出预测的软件质量分析指标。其中,输出的质量分析指标根据权重分析对比,依托软件项目的行业领域特点、项目实施特点、软件规模进行质量分组评价,得到项目管理过程中质量管理、风险管理、团队管理、成本管理的决策参考意见。
可以理解的是,在现有技术中,软件质量与软件缺陷息息相关,通过软件缺陷预测,有助于设定各阶段质量目标,进行项目质量策划,提升产品质量,同时对比BUG预测的信息与实际测试结果可获取测试工作的有效性评价,分析测试人员的执行质量,有助于团队的管理。现今各个领域的软件项目积累大量的质量相关数据,通过数据挖掘和分析提取有价值的信息以此优化项目并对项目未来发展进行预测。基于此,可通过知识图谱对软件项目质量数据进行分析提取知识实行项目管理的决策分析。而在软件缺陷领域,目前没有比较成熟的基于知识图谱进行预测的应用场景。近年来,基于机器学习、深度学习、集成学习的方法被广泛应用于软件缺陷预测中,上述方法通过建立软件历史数据与缺陷的关系模型对软件模型预测缺陷发生的可能性。但上述方法还存在以下问题:
1、已有的软件缺陷预测方法不具备跨行业领域的通用性,因此不存在一套方法可预测具备不同领域属性的软件项目缺陷;
2、当前软件项目历史数据具备数据多源、冗余性、复杂性的特点,当前软件缺陷预测未能充分利用历史数据的关联性;
3、当前软件缺陷预测算法注重算法模型的准确率,缺少对预测指标对应获取到的关于质量信息的有效性分析。
而与现有技术相比,本发明实施例提供的一种软件缺陷预测和质量分析方法,具有以下有益效果:
1、能够建立基于跨项目的软件历史项目数据的知识图谱,建立不同领域软件项目关系连接,充分挖掘历史项目的缺陷关联性,预测不同领域软件项目的缺陷指标,着眼于不同领域的跨项目软件历史数据进行关联分析获得缺陷预测信息;
2、基于构建的知识图谱和训练模型,依据缺陷特征建立多个质量分析指标体系,通过预测指标的权重分析,保证质量指标有效性;
3、能够直接了解新项目的缺陷预测和产品质量,以供质量管理、风险管理、团队管理、成本管理的决策参考,从而提供了项目管理的工作效率。
作为其中一种可选的实施例,在步骤S11中,可以通过以下方式根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息:
S111、从软件数据仓库中获取各个项目的软件项目历史数据;
S112、对所述软件项目历史数据进行不同领域的划分,得到划分后的软件项目历史数据;
S113、基于预设的缺陷预测指标需求,对所述划分后的软件项目历史数据进行不同粒度的信息提取,得到不同粒度的项目模块缺陷信息。
示例性的,对软件项目历史数据可依据行业领域特点、项目实施特点、软件规模进行划分,并提取基于项目-模块-缺陷的三个维度实例数据。参见图2,对应于图2所示的项目、模块、缺陷信息,项目维度的实例数据包括项目领域、软件信息、硬件信息、建设单位、建设金额、功能模块数、工程师信息、建设工期、开发语言、项目类型、需求变更次数、需求变更规模、变更时间距终验时间;模块维护的实例数据包括功能模块重要程度、业务使用频次、平台类型、测试用例数、功能点数、测试用例覆盖度、缺陷类型分布、平均修复时间、BUG数、缺陷趋势、严重BUG占比、缺陷发现效率、缺陷密度、平均失效时间间隔、用例质量、重复打开BUG数;缺陷维度的实例数据包括BUG标题信息、缺陷类型、项目版本号、严重程度、问题类型、当前测试的环境信息、优先级、浏览器信息、缺陷解决时间、移动端机型、来源信息。另外,在对不同领域的项目依据缺陷预测指标需求进行不同粒度的信息提取后,存储于数据库中。
作为其中一种可选的实施例,所述项目模块缺陷信息的提取粒度包括项目、模块、缺陷。
作为其中一种可选的实施例,所述步骤S12包括:
S121、对所述项目模块缺陷信息进行数据转换和清洗,并对经过数据转换和清洗后的项目模块缺陷信息进行歧义消除和知识加工处理,得到处理后的项目模块缺陷信息;
具体的,加载上述数据库中的项目模块缺陷信息进行数据转换和清洗,并在上述基础数据上进行歧义消除和知识加工处理。
S122、将所述处理后的项目模块缺陷信息导入到预设的图数据库中建立知识图谱。
具体的,将处理后的数据集使用import指令导入保存至Neo4J图数据库中构建知识图谱,并依据项目缺陷特征进行规则定义,并结合自顶向下方法形成知识图谱的框架。
示例性的,参见图3,是本发明实施例提供的知识图谱的结构示意图,知识图谱采用三元组网络知识结构即<实体1,关系,实体2>的关系形式呈现,例如,项目-模块-缺陷的结构以三元组的关系表示为<项目,包含,模块>和<缺陷,属于,模块>。进一步的,在知识获取后对数据采用专家建议进行歧义消除,重复数据则在存储过程中通过 import指令解决,知识加工采用人工编辑的方式进行手动构建,知识计算采用基于规则的推理方式,由专家在项目缺陷特征的基础上进行规则定义,以已有的项目缺陷实体关系对为前提推导结论建立实体对的新关联,从而发现新的知识。比如实体对<XXX政务数据管理局,建设,大数据分析平台建设项目>和<XXX政务数据管理局,建设,大数据分析平台运维运营项目>基于项目关系可推导出实体对<大数据分析平台建设项目,后期运维,大数据分析平台运维运营项目>。其中,知识图谱采用自顶向下方法构建本体,先为知识图谱规划本体和数据信息,再将获取的实体和模式信息加入知识库中。
作为其中一种可选的实施例,所述多任务训练模型包括:输入层、连接层、共享层、归一化层、输出层;
所述输入层用于输入所述特征向量,接收项目和模块信息作为输入,所述连接层用于对所述特征向量进行主成分分析,连接层转化输入信息统一样本向量维度,所述共享层包括知识图谱嵌入模块与交叉压缩单元,用于共享特征,以保持信息互补,所述归一化层用于进行二分类计算,所述输出层用于输出软件质量分析指标的预测结果。
示例性的,参见图2,结合知识图谱构建多任务训练模型,其中,多任务训练的输入层由项目特征向量、模块特征向量和缺陷类型向量组成;然后,在步骤S132中,对项目名称进行jieba分词处理提取中文文本特征向量构造向量1,与项目信息提取的向量2拼接形成项目特征向量。对模块名称进行jieba分词处理提取中文文本特征向量构造向量3,与特征信息提取的向量4拼接形成模块特征向量,对缺陷类型进行jieba分词处理构造缺陷类型向量。
进一步的,多任务训练的连接层对输入层的向量进行PCA主成分分析转换输入向量的维度。多任务训练的共享层通过知识图谱嵌入模块与推荐模型的交叉压缩单元实现,即包括知识图谱嵌入模块、推荐模块、压缩交叉单元。如图2所示,假设嵌入模块中三元组<实体1,关系,实体2>向量表示为(h,r,t),并提取头向量head h和关系向量relation r。训练过程中,头向量head h和关系向量relation r与转换后的向量进行交叉弥补自身信息稀疏性的不足,交叉单元自动学习高阶交互特征,依次反复训练得到一个尾向量t的预估值。嵌入模块期望尾向量t的预测值与真实的尾向量接近,对(h,r,t)的评价分数采用相似度函数f进行计算,计算过程中先取尾向量t和尾向量t预估值的内积,再通过sigmoid函数计算。压缩交叉单元是嵌入模块与推荐模块进行交换信息的模块。压缩交叉单元获取嵌入模块和推荐模块的信息构造交叉特征矩阵c。推荐模块将连接层转化后的项目特征向量和模块特征向量,项目特征向量提取潜在浓缩的特征得到向量[u1,u2,…,un]’’,对于模块特征向量通过交叉单元c共享训练得到向量[v1,v2,…,vn]’’,再通过向量内积得到[v’u’]。缺陷类型向量w由所有的缺陷类型构造并提取特征w’,将[v1,v2,…,vn]’’与w’进行向量内积得到[v’w’]。
依照步骤S133,在训练过程中将数据集按照测试集、训练集和验证集为8:1:1的比例进行训练。
进一步的,多任务训练的归一化层将共享层向量内积后的[]采用二分类函数计算进行分类评分得到模块缺陷分布预测信息。缺陷类型分布预测指标信息直接由向量内积后的[]预测得到。输出层则输出模块缺陷分布和缺陷类型分布预测指标。随机森林分类模型通过对输入的项目和模块特征信息进行分类训练输出预测的缺陷密度、平均失效时间间隔、平均修复时间、严重BUG占比预测指标信息。
作为其中一种可选的实施例,所述软件质量分析指标包括缺陷密度、平均失效时间间隔、平均修复时间、严重BUG占比、模块缺陷分布、缺陷类型分布。
具体的,软件质量分析指标包括缺陷密度、平均失效时间间隔、平均修复时间、严重BUG占比、模块缺陷分布、缺陷类型分布。整体训练模型由多任务训练模型和随机森林分类模型组成。多任务训练模型输出模块缺陷分布、缺陷类型分布,随机森林分类模型输出缺陷密度、平均失效时间间隔、平均修复时间、严重BUG占比。其中,软件质量分析指标体系中,缺陷密度是BUG数与功能点数的比值,表示一定软件规模大小内的缺陷数量。平均失效时间间隔能够表示缺陷在一定程度内影响软件有效运行的可靠性。平均修复时间是缺陷修复时间与缺陷数量的比值,表示一定缺陷数量内的修复能力。缺陷类型分布和模块缺陷分布表示缺陷分布特点。严重BUG占比表示严重缺陷在软件中的比例。
值得说明的是,通过着眼于不同领域的跨项目软件历史数据进行关联分析获得缺陷预测信息。同时建立多个质量分析指标体系,通过预测指标的权重分析,保证质量指标有效性。在实施测试一个新的软件项目可以通过本发明方法直接了解新项目的缺陷预测和产品质量,以供质量管理、风险管理、团队管理、成本管理的决策参考,从而提供了项目管理的工作效率。
本发明实施例提供了一种软件缺陷预测和质量分析装置,参见图4,是本发明实施例提供的一种软件缺陷预测和质量分析装置40的结构示意图,包括:
缺陷信息获取模块41,用于获取不同领域的软件项目历史数据,并根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息;
知识图谱建立模块42,用于根据所述项目模块缺陷信息建立知识图谱;
预测结果输出模块43,用于根据所述知识图谱构建多任务训练模型,并对所述多任务训练模型进行训练和学习,得到软件质量分析指标的预测结果;包括:根据所述知识图谱构建多任务训练模型;对所述项目模块缺陷信息进行分词处理,并将经过分词处理后的信息转换为特征向量;将所述特征向量输入到所述多任务训练模型中进行训练和学习,得到软件质量分析指标的预测结果。
与现有技术相比,本发明实施例提供的一种软件缺陷预测和质量分析装置,能够基于不同领域跨项目的软件历史数据,充分利用历史数据的关联性进行关联分析,来获得缺陷预测信息,并基于构建的知识图谱和训练模型,依据缺陷特征建立多个质量分析指标体系,通过预测指标的权重分析,保证质量指标有效性,从而能够直接了解新项目的缺陷预测和产品质量,以供质量管理、风险管理、团队管理、成本管理的决策参考,进一步提高项目管理的工作效率。
作为其中一种可选的实施例,在所述缺陷信息获取模块41中,具体可以通过以下方式根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息:
从软件数据仓库中获取各个项目的软件项目历史数据;
对所述软件项目历史数据进行不同领域的划分,得到划分后的软件项目历史数据;
基于预设的缺陷预测指标需求,对所述划分后的软件项目历史数据进行不同粒度的信息提取,得到不同粒度的项目模块缺陷信息。
作为其中一种可选的实施例,所述项目模块缺陷信息的提取粒度包括项目、模块、缺陷。
作为其中一种可选的实施例,所述知识图谱建立模块42具体用于:
对所述项目模块缺陷信息进行数据转换和清洗,并对经过数据转换和清洗后的项目模块缺陷信息进行歧义消除和知识加工处理,得到处理后的项目模块缺陷信息;
将所述处理后的项目模块缺陷信息导入到预设的图数据库中建立知识图谱。
作为其中一种可选的实施例,所述多任务训练模型包括:输入层、连接层、共享层、归一化层、输出层;
所述输入层用于输入所述特征向量,接收项目和模块信息作为输入,所述连接层用于对所述特征向量进行主成分分析,连接层转化输入信息统一样本向量维度,所述共享层包括知识图谱嵌入模块与交叉压缩单元,用于共享特征,以保持信息互补,所述归一化层用于进行二分类计算,所述输出层用于输出软件质量分析指标的预测结果。
作为其中一种可选的实施例,所述软件质量分析指标包括缺陷密度、平均失效时间间隔、平均修复时间、严重BUG占比、模块缺陷分布、缺陷类型分布。
另外,需要说明的是,本发明实施例提供的一种软件缺陷预测和质量分析装置的各实施例的具体实现方案和有益效果,与本发明实施例提供的一种软件缺陷预测和质量分析方法的各实施例的具体实现方案和有益效果对应相同,在此不作赘述。
本发明实施例提供了一种终端设备,参见图5,是本发明实施例提供的一种终端设备的结构示意图。该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序。所述处理器50执行所述计算机程序时实现上述第一方面任一实施例所述的软件缺陷预测和质量分析方法。或者,所述处理器50执行所述计算机程序时实现上述各装置实施例中各模块的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备5中的执行过程。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备5还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器50是所述终端设备5的控制中心,利用各种接口和线路连接整个终端设备5的各个部分。
所述存储器51可用于存储所述计算机程序和/或模块,所述处理器50通过运行或执行存储在所述存储器51内的计算机程序和/或模块,以及调用存储在存储器51内的数据,实现所述终端设备5的各种功能。所述存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述终端设备5集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器50执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述所述的软件缺陷预测和质量分析方法。
本领域技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的模块或单元组合成一个模块或单元,以及此外可以把它们分成多个子模块或子单元。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在本发明的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (9)
1.一种软件缺陷预测和质量分析方法,其特征在于,包括:
获取不同领域的软件项目历史数据,并根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息;
根据所述项目模块缺陷信息建立知识图谱;
根据所述知识图谱构建多任务训练模型,并对所述多任务训练模型进行训练和学习,得到软件质量分析指标的预测结果;包括:根据所述知识图谱构建多任务训练模型;对所述项目模块缺陷信息进行分词处理,并将经过分词处理后的信息转换为特征向量;将所述特征向量输入到所述多任务训练模型中进行训练和学习,得到软件质量分析指标的预测结果。
2.根据权利要求1所述的软件缺陷预测和质量分析方法,其特征在于,通过以下方式根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息:
从软件数据仓库中获取各个项目的软件项目历史数据;
对所述软件项目历史数据进行不同领域的划分,得到划分后的软件项目历史数据;
基于预设的缺陷预测指标需求,对所述划分后的软件项目历史数据进行不同粒度的信息提取,得到不同粒度的项目模块缺陷信息。
3.根据权利要求2所述的软件缺陷预测和质量分析方法,其特征在于,所述项目模块缺陷信息的提取粒度包括项目、模块、缺陷。
4.根据权利要求1所述的软件缺陷预测和质量分析方法,其特征在于,所述根据所述项目模块缺陷信息建立知识图谱,包括:
对所述项目模块缺陷信息进行数据转换和清洗,并对经过数据转换和清洗后的项目模块缺陷信息进行歧义消除和知识加工处理,得到处理后的项目模块缺陷信息;
将所述处理后的项目模块缺陷信息导入到预设的图数据库中建立知识图谱。
5.根据权利要求1所述的软件缺陷预测和质量分析方法,其特征在于,所述多任务训练模型包括:输入层、连接层、共享层、归一化层、输出层;
所述输入层用于输入所述特征向量,所述连接层用于对所述特征向量进行主成分分析,所述共享层包括知识图谱嵌入模块与交叉压缩单元,用于共享特征,以保持信息互补,所述归一化层用于进行二分类计算,所述输出层用于输出软件质量分析指标的预测结果。
6.根据权利要求1所述的软件缺陷预测和质量分析方法,其特征在于,所述软件质量分析指标包括缺陷密度、平均失效时间间隔、平均修复时间、严重BUG占比、模块缺陷分布、缺陷类型分布。
7.一种软件缺陷预测和质量分析装置,其特征在于,包括:
缺陷信息获取模块,用于获取不同领域的软件项目历史数据,并根据所述软件项目历史数据获取不同粒度的项目模块缺陷信息;
知识图谱建立模块,用于根据所述项目模块缺陷信息建立知识图谱;
预测结果输出模块,用于根据所述知识图谱构建多任务训练模型,并对所述多任务训练模型进行训练和学习,得到软件质量分析指标的预测结果;包括:根据所述知识图谱构建多任务训练模型;对所述项目模块缺陷信息进行分词处理,并将经过分词处理后的信息转换为特征向量;将所述特征向量输入到所述多任务训练模型中进行训练和学习,得到软件质量分析指标的预测结果。
8.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的软件缺陷预测和质量分析方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至6中任意一项所述的软件缺陷预测和质量分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234709.2A CN114328277A (zh) | 2022-03-11 | 2022-03-11 | 一种软件缺陷预测和质量分析方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234709.2A CN114328277A (zh) | 2022-03-11 | 2022-03-11 | 一种软件缺陷预测和质量分析方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114328277A true CN114328277A (zh) | 2022-04-12 |
Family
ID=81033080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210234709.2A Pending CN114328277A (zh) | 2022-03-11 | 2022-03-11 | 一种软件缺陷预测和质量分析方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328277A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152130A (zh) * | 2023-10-27 | 2023-12-01 | 中科星图智慧科技安徽有限公司 | 一种建设用地占用耕地合规性的图形叠加分析方法 |
CN117312809A (zh) * | 2023-11-30 | 2023-12-29 | 山东建筑大学 | 一种基于知识图谱的软件缺陷预测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121829A (zh) * | 2018-01-12 | 2018-06-05 | 扬州大学 | 面向软件缺陷的领域知识图谱自动化构建方法 |
CN110175726A (zh) * | 2019-06-18 | 2019-08-27 | 中国人民解放军国防科技大学 | 一种基于迁移性分析的跨项目缺陷预测方法 |
CN110825644A (zh) * | 2019-11-11 | 2020-02-21 | 南京邮电大学 | 一种跨项目软件缺陷预测方法及其系统 |
CN111290967A (zh) * | 2020-03-10 | 2020-06-16 | 武汉联影医疗科技有限公司 | 一种软件缺陷预测方法、装置、设备及存储介质 |
CN111597347A (zh) * | 2020-04-24 | 2020-08-28 | 扬州大学 | 知识嵌入的缺陷报告重构方法及装置 |
-
2022
- 2022-03-11 CN CN202210234709.2A patent/CN114328277A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121829A (zh) * | 2018-01-12 | 2018-06-05 | 扬州大学 | 面向软件缺陷的领域知识图谱自动化构建方法 |
CN110175726A (zh) * | 2019-06-18 | 2019-08-27 | 中国人民解放军国防科技大学 | 一种基于迁移性分析的跨项目缺陷预测方法 |
CN110825644A (zh) * | 2019-11-11 | 2020-02-21 | 南京邮电大学 | 一种跨项目软件缺陷预测方法及其系统 |
CN111290967A (zh) * | 2020-03-10 | 2020-06-16 | 武汉联影医疗科技有限公司 | 一种软件缺陷预测方法、装置、设备及存储介质 |
CN111597347A (zh) * | 2020-04-24 | 2020-08-28 | 扬州大学 | 知识嵌入的缺陷报告重构方法及装置 |
Non-Patent Citations (2)
Title |
---|
李鹏宇等: "基于知识图谱和自动机器学习的软件缺陷预测", 《空间控制技术与应用》 * |
陈曙等: "一种基于领域适配的跨项目软件缺陷预测方法", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152130A (zh) * | 2023-10-27 | 2023-12-01 | 中科星图智慧科技安徽有限公司 | 一种建设用地占用耕地合规性的图形叠加分析方法 |
CN117152130B (zh) * | 2023-10-27 | 2024-02-20 | 中科星图智慧科技安徽有限公司 | 一种建设用地占用耕地合规性的图形叠加分析方法 |
CN117312809A (zh) * | 2023-11-30 | 2023-12-29 | 山东建筑大学 | 一种基于知识图谱的软件缺陷预测方法及系统 |
CN117312809B (zh) * | 2023-11-30 | 2024-01-26 | 山东建筑大学 | 一种基于知识图谱的软件缺陷预测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427708B (zh) | 数据处理方法、装置、存储介质和电子装置 | |
US20230289828A1 (en) | Data processing method, computer device, and readable storage medium | |
CN114328277A (zh) | 一种软件缺陷预测和质量分析方法、装置、设备及介质 | |
CN111931809A (zh) | 数据的处理方法、装置、存储介质及电子设备 | |
CN110555451A (zh) | 信息识别方法和装置 | |
CN112990281A (zh) | 异常投标识别模型训练方法、异常投标识别方法及装置 | |
CN112561320A (zh) | 机构风险预测模型的训练方法、机构风险预测方法和装置 | |
CN111582645B (zh) | 基于因子分解机的app风险评估方法、装置和电子设备 | |
CN112883990A (zh) | 数据分类方法及装置、计算机存储介质、电子设备 | |
CN113674087A (zh) | 企业信用等级评定方法、装置、电子设备和介质 | |
CN111178701B (zh) | 一种基于特征衍生技术的风险控制方法方法、装置和电子设备 | |
CN116340793A (zh) | 一种数据处理方法、装置、设备以及可读存储介质 | |
CN113850669A (zh) | 用户分群方法、装置、计算机设备及计算机可读存储介质 | |
Jeyaraman et al. | Practical Machine Learning with R: Define, build, and evaluate machine learning models for real-world applications | |
CN116342164A (zh) | 目标用户群体的定位方法、装置、电子设备及存储介质 | |
US20220245199A1 (en) | Virtual Dialog System Performance Assessment and Enrichment | |
CN115328753A (zh) | 一种故障预测方法及装置、电子设备、存储介质 | |
CN114925674A (zh) | 文件合规性检查方法、装置、电子设备及存储介质 | |
CN113052509A (zh) | 模型评估方法、模型评估装置、电子设备和存储介质 | |
CN116484230B (zh) | 识别异常业务数据的方法及ai数字人的训练方法 | |
WO2023152897A1 (ja) | 情報処理プログラム、情報処理装置及び情報処理方法 | |
CN114118542A (zh) | 烟气含氧量负荷预测模型的选择方法及装置 | |
CN117764704A (zh) | 基于大数据的风险管理方法及装置、电子设备、存储介质 | |
CN115495377A (zh) | 一种云计算场景的自动测试方法、装置、设备及存储介质 | |
CN117520141A (zh) | 基于人工智能的脚本推荐方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220412 |
|
RJ01 | Rejection of invention patent application after publication |