软件漏洞预测方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:27479106 阅读:18 留言:0更新日期:2021-03-02 17:49
本发明专利技术实施例涉及一种软件漏洞预测方法、装置、计算机设备及存储介质,所述方法包括:获取在前一个测试周期内对待测软件进行软件测试得到的至少一组漏洞数据;将所述至少一组漏洞数据输入至已训练的软件漏洞预测模型,得到预测参数,所述预测参数至少包括多个软件漏洞以及所述待测软件出现各所述软件漏洞的概率;根据所述预测参数确定所述待测软件在当前测试周期内将出现的目标软件漏洞,由此方法,可以实现后期软件测试过程中根据模型的预测结果针对性的着重测试可能出现的漏洞,提高软件测试效率和效果。测试效率和效果。测试效率和效果。

【技术实现步骤摘要】
软件漏洞预测方法、装置、计算机设备及存储介质


[0001]本专利技术实施例涉及软件测试领域,尤其涉及一种软件漏洞预测方法、装置、计算机设备及存储介质。

技术介绍

[0002]近年来,随着计算机快速发展,软件开发规模和复杂度日益增加,软件的可靠性受到越来越多的重视,学者们提出了多种软件可靠性预测模型来评估和预测软件的可靠性。
[0003]然而,上述软件可靠性预测模型都是从软件级别预测漏洞,而在软件测试工作中,对软件功能级别的漏洞预测,也即软件漏洞的预测需求越来越多。
[0004]针对上述技术问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]鉴于此,为解决上述缺乏针对软件功能漏洞进行预测的技术问题,本专利技术实施例提供一种软件漏洞预测方法、装置、计算机设备及存储介质。
[0006]第一方面,本专利技术实施例提供一种软件漏洞预测方法,包括:
[0007]获取在前一个测试周期内对待测软件进行软件测试得到的至少一组漏洞数据;
[0008]将所述至少一组漏洞数据输入至已训练的软件漏洞预测模型,得到预测参数,所述预测参数至少包括多个软件漏洞以及所述待测软件出现各所述软件漏洞的概率;
[0009]根据所述预测参数确定所述待测软件在当前测试周期内将出现的目标软件漏洞。
[0010]在一个可能的实施方式中,所述方法还包括:
[0011]从所述预测参数中选择对应的概率值最大的一个软件漏洞;
[0012]将选择的软件漏洞确定为所述待测软件在当前测试周期内将出现的目标软件漏洞。
[0013]在一个可能的实施方式中,所述方法还包括:
[0014]获得样本数据,所述样本数据包括:历史测试周期内对所述待测软件进行软件测试得到的多组漏洞数据;
[0015]基于逻辑回归算法,并利用所述样本数据进行训练,得到所述软件漏洞预测模型。
[0016]在一个可能的实施方式中,所述方法还包括:
[0017]获得一个历史测试周期内对所述待测软件进行软件测试得到的多组漏洞数据;
[0018]按照时间先后顺序对所述多组漏洞数据进行排序,将排在前N位的漏洞数据作为样本数据。
[0019]在一个可能的实施方式中,所述方法还包括:
[0020]将所述多组漏洞数据中,除样本数据以外的漏洞数据作为测试数据;
[0021]当基于所述测试数据确定对所述软件漏洞预测模型进行重训练时,重新获得样本数据,以及基于逻辑回归算法,并利用重新获得的所述样本数据进行重训练,得到所述软件漏洞预测模型。
[0022]在一个可能的实施方式中,所述方法还包括:
[0023]将至少一组测试数据输入至已训练的软件漏洞预测模型,得到测试参数;
[0024]基于所述测试数据与所述测试参数,得到所述软件漏洞预测模型的预测误差率;
[0025]若所述预测误差率大于等于第一阈值,则确定对所述软件漏洞预测模型进行重训练。
[0026]第二方面,本专利技术实施例提供一种软件漏洞预测装置,包括:
[0027]获取模块,用于获取在前一个测试周期内对待测软件进行软件测试得到的至少一组漏洞数据;
[0028]预测模块,用于将所述至少一组漏洞数据输入至已训练的软件漏洞预测模型,得到预测参数,所述预测参数至少包括多个软件漏洞以及所述待测软件出现各所述软件漏洞的概率;
[0029]确定模块,用于根据所述预测参数确定所述待测软件在当前测试周期内将出现的目标软件漏洞。
[0030]在一个可能的实施方式中,所述确定模块,具体用于从所述预测参数中选择对应的概率值最大的一个软件漏洞;将选择的软件漏洞确定为所述待测软件在当前测试周期内将出现的目标软件漏洞。
[0031]第三方面,本专利技术实施例提供一种计算机设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的软件漏洞预测程序,以实现上述第一方面中所述的软件漏洞预测方法。
[0032]第四方面,本专利技术实施例提供一种存储介质,包括:所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中所述的软件漏洞预测方法。
[0033]本专利技术实施例提供的软件漏洞预测方法,通过获取在前一个测试周期内对待测软件进行软件测试得到的至少一组漏洞数据,将至少一组漏洞数据输入至已训练的软件漏洞预测模型,得到预测参数,所述预测参数至少包括多个软件漏洞以及所述待测软件出现各所述软件漏洞的概率,根据所述预测参数确定所述待测软件在当前测试周期内将出现的目标软件漏洞,实现了针对软件功能漏洞的预测,如此有助于测试人员在后期软件测试过程中着重对可能出现的软件功能漏洞进行测试,提高测试效率和效果。
附图说明
[0034]图1为本专利技术实施例提供的一种软件漏洞预测方法的流程示意图;
[0035]图2为本专利技术实施例提供的一种软件漏洞预测模型的训练方法的流程示意图;
[0036]图3为sigmoid函数的曲线图;
[0037]图4为本专利技术实施例提供的一种软件漏洞预测装置的结构示意图;
[0038]图5为本专利技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0039]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]为便于对本专利技术实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本专利技术实施例的限定。
[0041]图1为本专利技术实施例提供的一种软件漏洞预测方法的流程示意图,如图1所示,该方法可包括以下步骤:
[0042]S11、获取在前一个测试周期内对待测软件进行软件测试得到的至少一组漏洞数据。
[0043]目前,在软件开发和维护过程中,经常涉及软件版本更新,每更新一次软件版本,则需要进行一次软件测试,本专利技术实施例中将对一个版本的软件进行软件测试的过程称为一个测试周期。进一步的,在每个测试周期内,可使用多个测试用例对软件进行测试,得到对应的漏洞数据。可选的,漏洞数据包括但不限于:软件漏洞、软件出现漏洞的次数、软件出现漏洞的时间、漏洞种类等等,其中,软件出现漏洞的次数可包括每种类型的漏洞各自出现的次数。
[0044]作为一个实施例,在开展一个测试周期之前,可通过执行本步骤S11获取前一个测试周期内对待测软件进行测试时得到的至少一组漏洞数据,后续则可以根据该前一个测试周期内得到的漏洞数据来预测软件在当前测试周期内可能会出现的软件漏洞。
[0045]S12、将所述至少一组漏洞数据输入至已训练的软件漏洞预测模型,得到预测参数。
[0046]首先说明,在本专利技术实施例中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件漏洞预测方法,其特征在于,包括:获取在前一个测试周期内对待测软件进行软件测试得到的至少一组漏洞数据;将所述至少一组漏洞数据输入至已训练的软件漏洞预测模型,得到预测参数,所述预测参数至少包括多个软件漏洞以及所述待测软件出现各所述软件漏洞的概率;根据所述预测参数确定所述待测软件在当前测试周期内将出现的目标软件漏洞。2.根据权利要求1所述的方法,其特征在于,所述根据所述预测参数确定所述待测软件在当前测试周期内将出现的目标软件漏洞,包括:从所述预测参数中选择对应的概率值最大的一个软件漏洞;将选择的软件漏洞确定为所述待测软件在当前测试周期内将出现的目标软件漏洞。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:训练所述软件漏洞预测模型,具体包括:获得样本数据,所述样本数据包括:历史测试周期内对所述待测软件进行软件测试得到的多组漏洞数据;基于逻辑回归算法,并利用所述样本数据进行训练,得到所述软件漏洞预测模型。4.根据权利要求3所述的方法,其特征在于,所述获得样本数据包括:获得一个历史测试周期内对所述待测软件进行软件测试得到的多组漏洞数据;按照时间先后顺序对所述多组漏洞数据进行排序,将排在前N位的漏洞数据作为样本数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述多组漏洞数据中,除样本数据以外的漏洞数据作为测试数据;当基于所述测试数据确定对所述软件漏洞预测模型进行重训练时,重新获得样本数据,以及基于逻辑回归算法,并利用重新获得的所...

【专利技术属性】
技术研发人员:吴存杰陈怡兴
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

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

1