一种软件测试中的漏洞修复方法与流程

文档序号:27015612发布日期:2021-10-23 00:21阅读:185来源:国知局
一种软件测试中的漏洞修复方法与流程

1.本发明涉及音频系统领域,特别涉及一种软件测试中的漏洞修复方法。


背景技术:

2.现有技术中,软件开发的维护和修复都是手动过程,测试和部署通常是不完整的,或缺少所需的功能或包含缺陷。许多供应商都有生命周期维护计划,通过在软件成熟时推动迭代错误修复,安全补丁和功能增强来解决这些缺点。
3.但是,维护和错误修复需要花费大量的时间和金钱来解决,软件维护一直是临时的和反动的手动过程。
4.现有技术中亟需开发一种基于ai的智能漏洞修复方法。


技术实现要素:

5.为了克服现有技术存在的不足,本发明提供了一种软件测试中的漏洞修复方法,所述技术方案如下:
6.本发明提供了一种软件测试中的漏洞修复方法,包括以下步骤:
7.s1、获取待修复的软件文件;
8.s2、确定软件文件的一个或多个具有漏洞的工件;
9.s3、访问数据库,所述数据库存储有与每个参考软件文件对应的多个参考漏洞工件,所述参考软件文件中存在用于对参考漏洞工件进行修复的补丁;
10.s4、将步骤s2中所确定的软件文件的工件或其子集与存储在数据库中的参考漏洞工件或其子集进行比较;
11.s5、通过识别具有多个参考漏洞工件的参考软件文件来识别所述软件文件,其中,所述多个参考漏洞工件与步骤s2中所确定的多个工件匹配;
12.s6、根据对应的参考软件文件对待修复的软件文件进行修复。
13.进一步地,所述确定软件文件的一个或多个具有漏洞的工件包括:通过cve源来查询所述软件文件的工件,识别所述工件的文本中的漏洞和/或缺陷。
14.进一步地,所述cve源对所述漏洞和/或缺陷进行编码,以将代码用作关键字来查找包含漏洞和/或缺陷的软件文件。
15.进一步地,所述cve源对所述漏洞和/或缺陷进行编码,以在软件文件的标识中对工件源进行加权。
16.进一步地,通过自动编码器对工件的自学习形成聚类的标签,所述聚类的标签包括错误、修复、漏洞、补丁中的任意一种或多种。
17.进一步地,所述根据对应的参考软件文件对待修复的软件文件进行修复包括:利用符号执行来比较待修复的软件文件和参考软件文件,给予两者同样的测试数据,若待修复的软件文件报错而所述参考软件文件正常,则将所述待修复的软件文件中从报错点之后的代码由所述参考软件文件的相应部分来替换。
18.本发明提供的技术方案带来的有益效果如下:使软件开发/维护和修复生命周期等关键方面实现自动化,包括例如发现和修复程序缺陷,例如错误、安全漏洞和协议缺陷。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例提供的软件测试中的漏洞修复方法流程图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明方案,更清楚地了解本发明的目的、技术方案及其优点,以下结合具体实施例并参照附图对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。除此,本发明的说明书和权利要求书中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.在本发明的一个实施例中,提供了一种软件测试中的漏洞修复方法,参见图1,所述修复方法包括以下步骤:
23.s1、获取待修复的软件文件;
24.s2、确定软件文件的一个或多个具有漏洞的工件;
25.s3、访问数据库,所述数据库存储有与每个参考软件文件对应的多个参考漏洞工件,所述参考软件文件中存在用于对参考漏洞工件进行修复的补丁;
26.s4、将步骤s2中所确定的软件文件的工件或其子集与存储在数据库中的参考漏洞工件或其子集进行比较;
27.s5、通过识别具有多个参考漏洞工件的参考软件文件来识别所述软件文件,其中,所述多个参考漏洞工件与步骤s2中所确定的多个工件匹配;
28.s6、根据对应的参考软件文件对待修复的软件文件进行修复。
29.进一步地,所述确定软件文件的一个或多个具有漏洞的工件包括:通过cve源来查询所述软件文件的工件,识别所述工件的文本中的漏洞和/或缺陷。
30.进一步地,所述cve源对所述漏洞和/或缺陷进行编码,以将代码用作关键字来查找包含漏洞和/或缺陷的软件文件。
31.进一步地,所述cve源对所述漏洞和/或缺陷进行编码,以在软件文件的标识中对工件源进行加权。
32.进一步地,通过自动编码器对工件的自学习形成聚类的标签,所述聚类的标签包括错误、修复、漏洞、补丁中的任意一种或多种。
33.进一步地,所述根据对应的参考软件文件对待修复的软件文件进行修复包括:利用符号执行来比较待修复的软件文件和参考软件文件,给予两者同样的测试数据,若待修复的软件文件报错而所述参考软件文件正常,则将所述待修复的软件文件中从报错点之后的代码由所述参考软件文件的相应部分来替换。
34.本发明使软件开发/维护和修复生命周期等关键方面实现自动化,包括例如发现和修复程序缺陷,例如错误、安全漏洞和协议缺陷。
35.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:
1.一种软件测试中的漏洞修复方法,其特征在于,包括以下步骤:s1、获取待修复的软件文件;s2、确定软件文件的一个或多个具有漏洞的工件;s3、访问数据库,所述数据库存储有与每个参考软件文件对应的多个参考漏洞工件,所述参考软件文件中存在用于对参考漏洞工件进行修复的补丁;s4、将步骤s2中所确定的软件文件的工件或其子集与存储在数据库中的参考漏洞工件或其子集进行比较;s5、通过识别具有多个参考漏洞工件的参考软件文件来识别所述软件文件,其中,所述多个参考漏洞工件与步骤s2中所确定的多个工件匹配;s6、根据对应的参考软件文件对待修复的软件文件进行修复。2.根据权利要求1所述的软件测试中的漏洞修复方法,其特征在于,所述确定软件文件的一个或多个具有漏洞的工件包括:通过cve源来查询所述软件文件的工件,识别所述工件的文本中的漏洞和/或缺陷。3.根据权利要求2所述的软件测试中的漏洞修复方法,其特征在于,所述cve源对所述漏洞和/或缺陷进行编码,以将代码用作关键字来查找包含漏洞和/或缺陷的软件文件。4.根据权利要求3所述的软件测试中的漏洞修复方法,其特征在于,所述cve源对所述漏洞和/或缺陷进行编码,以在软件文件的标识中对工件源进行加权。5.根据权利要求3所述的软件测试中的漏洞修复方法,其特征在于,通过自动编码器对工件的自学习形成聚类的标签,所述聚类的标签包括错误、修复、漏洞、补丁中的任意一种或多种。6.根据权利要求1所述的软件测试中的漏洞修复方法,其特征在于,所述根据对应的参考软件文件对待修复的软件文件进行修复包括:利用符号执行来比较待修复的软件文件和参考软件文件,给予两者同样的测试数据,若待修复的软件文件报错而所述参考软件文件正常,则将所述待修复的软件文件中从报错点之后的代码由所述参考软件文件的相应部分来替换。

技术总结
本发明公开了一种软件测试中的漏洞修复方法,包括以下步骤:S1、获取待修复的软件文件;S2、确定软件文件的一个或多个具有漏洞的工件;S3、访问数据库,数据库存储有与每个参考软件文件对应的多个参考漏洞工件;S4、将步骤S2中所确定的软件文件的工件或其子集与存储在数据库中的参考漏洞工件或其子集进行比较;S5、通过识别具有多个参考漏洞工件的参考软件文件来识别软件文件,其中,多个参考漏洞工件与步骤S2中所确定的多个工件匹配;S6、根据对应的参考软件文件对待修复的软件文件进行修复。本发明使软件开发/维护和修复生命周期等关键方面实现自动化,包括例如发现和修复程序缺陷,例如错误、安全漏洞和协议缺陷。安全漏洞和协议缺陷。安全漏洞和协议缺陷。


技术研发人员:师江帆
受保护的技术使用者:苏州市龙测智能科技有限公司
技术研发日:2020.04.15
技术公布日:2021/10/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1