CN115061911A - 一种自适应感知覆盖度量反馈的模糊测试方法及装置 - Google Patents
一种自适应感知覆盖度量反馈的模糊测试方法及装置 Download PDFInfo
- Publication number
- CN115061911A CN115061911A CN202210688261.1A CN202210688261A CN115061911A CN 115061911 A CN115061911 A CN 115061911A CN 202210688261 A CN202210688261 A CN 202210688261A CN 115061911 A CN115061911 A CN 115061911A
- Authority
- CN
- China
- Prior art keywords
- coverage
- test
- coverage metric
- program
- index
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种自适应感知覆盖度量反馈的模糊测试方法及装置,涉及信息安全领域,也可用于金融领域,包括:根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率;根据预设的探索效率阈值及所述空间探索效率调整所述覆盖度量指标,并确定继续或终止所述模糊测试。本申请能够对待测程序的特征进行静态分析,并在进行模糊测试的过程中动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率。
Description
技术领域
本申请涉及信息安全领域,可以用于金融领域,具体是一种自适应感知覆盖度量反馈的模糊测试方法及装置。
背景技术
模糊测试(Fuzzing)是一种通过向目标系统提供非预期的输入并检测异常结果来发现软件漏洞的方法。目前,基于覆盖引导(Covering Principle)的模糊测试技术能够通过覆盖反馈,启发式地探索程序空间,以缓解纯黑盒测试的盲目性。
然而,现有基于覆盖原理进行模糊测试的方法,其测试路径覆盖并不全面,往往只能探索到程序的小部分测试路径,从而错失了很多发现潜在程序漏洞的机会。此外,现有模糊测试工具往往使用单一覆盖度量指标进行程序测试,而未考虑程序的不同特点,也未考虑在模糊测试的不同阶段,不同覆盖度量指标所产生的效果也不尽相同等差异化因素,影响模糊测试的效果。
发明内容
针对现有技术中的问题,本申请提供一种自适应感知覆盖度量反馈的模糊测试方法及装置,能够对待测程序的特征进行静态分析,并在进行模糊测试的过程中动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种自适应感知覆盖度量反馈的模糊测试方法,包括:
根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率;
根据预设的探索效率阈值及所述空间探索效率调整所述覆盖度量指标,并确定继续或终止所述模糊测试。
进一步地,所述特征信息包括:条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量;提取待测程序的特征信息的步骤,包括:
利用交互式反汇编器提取所述条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量。
进一步地,所述覆盖度量指标包括:分支覆盖度量指标、内存覆盖度量指标及上下文敏感覆盖度量指标;所述根据预先提取的待测程序的特征信息选取对应的覆盖度量指标,包括:
比较所述条件跳转语句的数量、所述内存读写语句的数量及所述库函数调用语句与系统调用语句的数量;
根据比较结果确定所述覆盖度量指标;其中,若所述条件跳转语句的数量最大,所述覆盖度量指标为所述分支覆盖度量指标;若所述内存读写语句的数量最大,所述覆盖度量指标为所述内存覆盖度量指标;若所述库函数调用语句与系统调用语句的数量最大,所述覆盖度量指标为所述上下文敏感覆盖度量指标。
进一步地,所述的自适应感知覆盖度量反馈的模糊测试方法,还包括:
根据所述测试用例的程序执行路径生成同路径测试用例集;
对所述同路径测试用例集中的测试用例进行删减,以使所述同路径测试用例集中的测试用例唯一。
进一步地,所述利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率,包括:
根据选取的覆盖度量指标确定测试执行收益计算因子;
根据所述测试执行收益计算因子及对应的权重,确定在当前测试周期内对所述待测程序进行模糊测试的第一执行收益;
根据预先计算的在前一测试周期内对所述待测程序进行模糊测试的第二执行收益及所述第一执行收益,确定所述当前测试周期的相对执行收益;
根据所述相对执行收益确定所述空间探索效率。
进一步地,在根据所述相对执行收益确定所述空间探索效率之后,还包括:
若所述相对执行收益小于预设的收益参考阈值,对所述覆盖度量指标进行调整。
进一步地,所述对所述覆盖度量指标进行调整,包括:
利用贝塔分布函数确定各覆盖度量指标对应的被选概率;
根据所述各覆盖度量指标对应的被选概率对所述覆盖度量指标进行调整。
进一步地,所述根据所述各覆盖度量指标对应的被选概率对所述覆盖度量指标进行调整,包括:
根据所述各覆盖度量指标对应的被选概率确定最大被选概率;
将所述最大被选概率对应的覆盖度量指标设定为所述覆盖度量指标,并对所述贝塔分布函数的参数进行更新。
第二方面,本申请提供一种自适应感知覆盖度量反馈的模糊测试装置,包括:
覆盖度量指标选取单元,用于根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
空间探索效率确定单元,用于在进行模糊测试时,根据选取的覆盖度量指标确定所述待测程序的空间探索效率;
模糊测试终止单元,用于根据预设的探索效率阈值及所述空间探索效率确定继续或终止所述模糊测试。
进一步地,所述特征信息包括:条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量;所述装置,还包括:
特征信息确定单元,用于利用交互式反汇编器提取所述条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量。
进一步地,所述覆盖度量指标包括:分支覆盖度量指标、内存覆盖度量指标及上下文敏感覆盖度量指标;所述覆盖度量指标选取单元,包括:
数量比较模块,用于比较所述条件跳转语句的数量、所述内存读写语句的数量及所述库函数调用语句与系统调用语句的数量;
覆盖度量指标确定模块,用于根据比较结果确定所述覆盖度量指标;其中,若所述条件跳转语句的数量最大,所述覆盖度量指标为所述分支覆盖度量指标;若所述内存读写语句的数量最大,所述覆盖度量指标为所述内存覆盖度量指标;若所述库函数调用语句与系统调用语句的数量最大,所述覆盖度量指标为所述上下文敏感覆盖度量指标。
进一步地,所述的自适应感知覆盖度量反馈的模糊测试装置,还包括:
路径集合生成单元,用于根据所述测试用例的程序执行路径生成同路径测试用例集;
测试用例删减单元,用于对所述同路径测试用例集中的测试用例进行删减,以使所述同路径测试用例集中的测试用例唯一。
进一步地,所述空间探索效率确定单元,包括:
收益计算因子确定模块,用于根据选取的覆盖度量指标确定测试执行收益计算因子;
第一执行收益确定模块,用于根据所述测试执行收益计算因子及对应的权重,确定在当前测试周期内对所述待测程序进行模糊测试的第一执行收益;
相对执行收益确定模块,用于根据预先计算的在前一测试周期内对所述待测程序进行模糊测试的第二执行收益及所述第一执行收益,确定所述当前测试周期的相对执行收益;
空间探索效率确定模块,用于根据所述相对执行收益确定所述空间探索效率。
进一步地,所述空间探索效率确定单元,还具体用于:
若所述相对执行收益小于预设的收益参考阈值,对所述覆盖度量指标进行调整。
进一步地,所述空间探索效率确定单元,包括:
被选概率确定模块,用于利用贝塔分布函数确定各覆盖度量指标对应的被选概率;
覆盖度量指标调整模块,用于根据所述各覆盖度量指标对应的被选概率对所述覆盖度量指标进行调整。
进一步地,所述覆盖度量指标调整模块,包括:
最大被选概率确定子模块,用于根据所述各覆盖度量指标对应的被选概率确定最大被选概率;
覆盖度量指标设定子模块,用于将所述最大被选概率对应的覆盖度量指标设定为所述覆盖度量指标,并对所述贝塔分布函数的参数进行更新。
第三方面,本申请提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述自适应感知覆盖度量反馈的模糊测试方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述自适应感知覆盖度量反馈的模糊测试方法的步骤。
第五方面,本申请提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述自适应感知覆盖度量反馈的模糊测试方法的步骤。
针对现有技术中的问题,本申请提供的自适应感知覆盖度量反馈的模糊测试方法及装置,能够引入多种不同粒度的覆盖度量指标,避免单一度量指标所带来的局限性,通过对待测程序的特征进行静态分析,为具有不同特征的程序选取合适的覆盖度量指标,并在进行模糊测试的过程中,利用多臂赌博机算法动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中自适应感知覆盖度量反馈的模糊测试方法的流程图之一;
图2为本申请实施例中选取对应的覆盖度量指标的流程图;
图3为本申请实施例中自适应感知覆盖度量反馈的模糊测试方法的流程图之二;
图4为本申请实施例中确定空间探索效率的流程图;
图5为本申请实施例中对覆盖度量指标进行调整的流程图之一;
图6为本申请实施例中对覆盖度量指标进行调整的流程图之二;
图7为本申请实施例中模糊测试装置的结构图之一;
图8为本申请实施例中覆盖度量指标选取单元的结构图;
图9为本申请实施例中模糊测试装置的结构图之二;
图10为本申请实施例中空间探索效率确定单元的结构图;
图11为本申请实施例中空间探索效率确定单元的结构图;
图12为本申请实施例中覆盖度量指标调整模块的结构图;
图13为本申请实施例中的电子设备的结构示意图;
图14为本申请实施例中自适应感知覆盖度量反馈的模糊测试方法的功能示意图;
图15为本申请实施例中汤姆森采样流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请提供的自适应感知覆盖度量反馈的模糊测试方法及装置,可用于金融领域,也可用于除金融领域之外的任意领域,本申请提供的自适应感知覆盖度量反馈的模糊测试方法及装置的应用领域不做限定。
本申请提供了一种基于自适应感知覆盖度量反馈的模糊测试方法及装置。该方法及装置旨在灵活调度不同覆盖度量指标引导模糊测试高效执行,避免利用单一度量指标进行分析所带来的局限性。本申请实施例选取了多种不同粒度的覆盖度量指标,通过分析待测程序的特点,为具有不同特点的待测程序选择合适的覆盖度量指标,并在程序测试的不同阶段利用多臂赌博机算法(Bandit)动态调整覆盖度量,使得模糊测试的覆盖度量具有自适应性,从而充分利用不同覆盖度量指标的优势提高程序路径覆盖率及漏洞发现率。
一实施例中,参见图1,为了能够对待测程序的特征进行静态分析,并在进行模糊测试的过程中动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率,本申请提供一种模糊测试覆盖度量调度方法,包括:
S101:根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
S102:在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率;
S103:根据预设的探索效率阈值及所述空间探索效率调整所述覆盖度量指标,并确定继续或终止所述模糊测试。
可以理解的是,参见图14所示,该示意图包括四个环节:测试准备1401、程序特征提取1402、模糊测试执行1403及覆盖度量调整1404。具体地,各环节的作用及关系如下:
(1)测试准备
测试准备环节用于准备待测程序及输入初始测试用例。初始测试用例可以为一个或多个。优选地,可以对初始用例进行精简(例如使用afl-cmin工具),以减少执行重复路径的无用用例,并对精简后的用例进行最小化操作(例如使用afl-tmin工具),即减小单个用例的大小,进而减小用例的执行开销,提高测试效率。
(2)程序特征提取
程序特征提取环节用于提取待测程序的静态特征,以便能够在模糊测试的初期,针对不同类型的待测程序选择更为合适的覆盖度量指标,缓解冷启动问题。例如,对于一个频繁处理文件读写的程序,使用内存敏感覆盖比分支覆盖更容易触发程序中的漏洞。
该环节主要通过静态分析的方法,获取程序大小、程序中跳转语句、内存读写语句、系统调用语句等的数量,并以此作为待测程序的特征,确定模糊测试起始阶段所使用的覆盖度量指标(在模糊测试过程中,该指标后续很可能进行动态调整,具体详见下文阐述)。
一实施例中,特征信息包括:条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量;提取待测程序的特征信息的步骤,包括:利用交互式反汇编器提取条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量。
(3)模糊测试执行
模糊测试执行环节是执行模糊测试的过程,其以用例队列中的测试用例作为输入运行待测程序,并在运行过程中记录程序状态的变化,即,以在程序特征提取环节中所选择的覆盖度量指标,记录执行过程中发现的程序路径覆盖,并以此度量结果作为反馈保留发现新路径或程序崩溃的测试用例作为输出,将其加入测试用例队列,作为下一次模糊测试的候选输入。
其中,用例队列最初由用例准备阶段的初始用例构成,随着模糊测试的进行,会不断加入新的用例。
另外,在每个测试迭代周期执行结束后,还会计算此测试迭代周期的测试执行收益;当相对执行收益小于设定阈值τ时,调整覆盖度量指标。
(4)覆盖度量调整
覆盖度量调整环节用于在模糊测试执行的不同阶段,根据程序空间探索状态动态调整覆盖度量方式,以期从不同角度更全面地探索程序执行路径,提高模糊测试的测试深度及广度。
具体地,本申请实施例可以选取7种程序覆盖度量指标,包括:基本块覆盖(下文简称为bb)、分支覆盖(下文简称为bc)、上下文敏感覆盖(下文简称为ctx)、内存敏感覆盖(下文简称为mc)、4-gram覆盖(下文简称为n4)、8-gram覆盖(下文简称为n8)、16-gram(下文简称为n16)。上述7种程序覆盖度量指标共同构成基准覆盖度量指标集合Cover。当测试执行收益陷入低效增长期时,可以通过多臂赌博机算法调整当前的覆盖度量指标,旨在利用不同覆盖反馈保留不同的测试用例,增加测试用例的多样性。此外,本申请实施例也充分考虑了几种不同覆盖度量指标同时结合使用的情况,即通过组合多臂赌博机来同时选择几种不同的覆盖度量,实现优势互补。
7种覆盖度量标准的具体定义如下:
基本块覆盖:基本块覆盖是指以基本块作为路径单位,每发现待测程序中出现一个新的基本块就记录为一条新路径,并将发现新基本块的测试用例加入用例队列。
分支覆盖:分支覆盖是指将前一个基本块到当前基本块的跳转记为一条路径,将发现新跳转的测试用例加入用例队列。
上下文敏感覆盖:上下文敏感覆盖是在分支覆盖的基础上,通过考虑跳转的上下文信息(如函数调用栈)来区别不同路径,即将每一个具有不同上下文的分支覆盖路径记录为一条新路径,并保存相应的测试用例。
内存敏感覆盖:内存敏感覆盖是指以发现新的内存访问位置为目标,即每一个到达新的内存访问位置的路径为一条新路径,并将相应的测试用例加入用例队列。
4-gram覆盖、8-gram覆盖、16-gram覆盖:此三种覆盖度量方式均属于一种可变参的N-gram覆盖度量,其中N(N为非负整数)是一个可灵活配置的参数,表示考虑前N个基本块到当前基本块的跳转,故4-gram覆盖、8-gram覆盖、16-gram覆盖则分别为N=4、N=8及N=16的情况。
从上述描述可知,本申请提供的模糊测试覆盖度量调度方法,能够引入多种不同粒度的覆盖度量指标,避免单一度量指标所带来的局限性,通过对待测程序的特征进行静态分析,为具有不同特征的程序选取合适的覆盖度量指标,并在进行模糊测试的过程中,利用多臂赌博机算法动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率。
一实施例中,参见图2,覆盖度量指标包括:分支覆盖度量指标、内存覆盖度量指标及上下文敏感覆盖度量指标;根据预先提取的待测程序的特征信息选取对应的覆盖度量指标,包括:
S201:比较条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量;
S202:根据比较结果确定覆盖度量指标;其中,若条件跳转语句的数量最大,覆盖度量指标为分支覆盖度量指标;若内存读写语句的数量最大,覆盖度量指标为内存覆盖度量指标;若库函数调用语句与系统调用语句的数量最大,覆盖度量指标为上下文敏感覆盖度量指标。
可以理解的是,针对给定的待测程序P,通过静态分析方法(例如使用IDA工具)提取程序特征信息,以指导初始覆盖度量指标的选择,例如提取程序类型Type及程序大小Size,分析程序中表示条件跳转语句的数量fa,表示内存读写语句的数量fb以及表示库函数调用和系统调用语句的数量fc。若程序规模较大且跳转语句占比较大,则初始阶段使用分支覆盖作为度量指标;若程序中内存读写语句占比较大,则初始阶段使用内存覆盖作为度量指标;若程序中库函数调用和系统调用语句的数量占比较大,则初始阶段使用上下文敏感覆盖作为度量指标。具体的实施方式也可以参见步骤S201至S202中的阐述,即取“条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量”三者中的最大值,进行覆盖度量指标的选择。
从上述描述可知,本申请提供的模糊测试覆盖度量调度方法,能够根据预先提取的待测程序的特征信息选取对应的覆盖度量指标。
一实施例中,参见图3,模糊测试覆盖引导方法,还包括:
S301:根据测试用例的程序执行路径生成同路径测试用例集;
S302:对同路径测试用例集中的测试用例进行删减,以使同路径测试用例集中的测试用例唯一。
可以理解的是,测试前的准备工作包括:准备待测目标程序及输入初始测试用例,初始测试用例可以为一个或多个。初始测试用例可通过网络爬取或从现有的模糊测试用例集中得到,进而构成初始用例集Sin,然后对Sin中的测试用例进行预处理,精简用例数量,缩减用例大小,以节省程序执行开销。具体方法可以参见步骤S301至步骤S302的阐述。
从上述描述可知,本申请提供的模糊测试覆盖度量调度方法,能够对测试用例进行删减。
一实施例中,参见图4,在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率,包括:
S401:根据选取的覆盖度量指标确定测试执行收益计算因子;
S402:根据测试执行收益计算因子及对应的权重,确定在当前测试周期内对待测程序进行模糊测试的第一执行收益;
S403:根据预先计算的在前一测试周期内对待测程序进行模糊测试的第二执行收益及第一执行收益,确定当前测试周期的相对执行收益;
S404:根据相对执行收益确定空间探索效率。
可以理解的是,步骤S401至步骤S404是在模糊测试的执行过程中,确定待测程序的空间探索效率。也可以理解为,是在模糊测试的执行过程中,以当前选择的覆盖度量指标作为反馈,记录程序路径的覆盖情况,通过计算相对执行收益来感知当前的程序空间探索效率,进而及时进行覆盖度量指标调整(具体的调整方法参见步骤S501至步骤S502的阐述)。
具体地,对于待测目标程序P,设定t为迭代周期(在步骤S401至步骤S404中也称测试周期),即每执行M个测试用例后,计算当前迭代周期的测试执行收益。所谓迭代周期是指执行M个测试用例所用的时间。所谓测试执行收益是指有益于模糊测试发现新路径或发现crash的程序状态变化。优选地,选取crash触发数量、crash触发时间、发现新路径的数量、路径深度、路径复杂度以及发现稀有路径的数量这6种程序状态作为收益计算的评估标准(在步骤S401至步骤S404中也称测试执行收益计算因子),计算公式如公式(1)所示,其中Rj表示第j个迭代周期的收益,Ci对应上述6种评估标准的取值,Wi为评估标准i对应的权重。
需要注意的是,crash触发时间与执行收益成反比关系,因此具体计算时需要对crash触发时间的值进行取反操作。之后,计算当前周期j的收益(在步骤S401至步骤S404中也称第一执行收益)与前一周期j-1(j>1)收益(在步骤S401至步骤S404中也称第二执行收益)的比值,作为本周期相对执行收益Rw,如公式(2)所示。若相对执行收益Rw小于设定阈值τ,则证明属于低效运行阶段,需要进行覆盖度量指标调整。
还需说明的是,不同的覆盖度量指标所对应的测试执行收益计算因子的具体数值可能是不同的。举例而言,假设b1、b2、b3、b4表示基本块,若路径b1->b2、b3->b4已分别被执行,则对于路径b1->b3->b2->b4,基本块覆盖会认为其执行了重复路径(因为触发的是与已执行路径相同的基本块,均为b1、b2、b3、b4),而分支覆盖则会认为触发了新的路径(因为分支覆盖考虑的是基本块跳转,路径b1->b3->b2->b4中包含新的跳转b1->b3、b3->b2、b2->b4)。
因此,需要根据选取的覆盖度量指标确定测试执行收益计算因子。
从上述描述可知,本申请提供的自适应感知覆盖度量反馈的模糊测试方法,能够根据选取的覆盖度量指标确定测试用例对待测程序的空间探索效率。
一实施例中,在根据相对执行收益确定空间探索效率之后,还包括:
若相对执行收益小于预设的收益参考阈值,对覆盖度量指标进行调整。其中,收益参考阈值可以与探索效率阈值设为相同的数值。
具体地,参见图5,对覆盖度量指标进行调整,包括:
S501:利用贝塔分布函数确定各覆盖度量指标对应的被选概率;
S502:根据各覆盖度量指标对应的被选概率对覆盖度量指标进行调整。
需要说明的是,步骤S501至步骤S502是利用多臂赌博机算法实现的,具体参见下文阐述。
进一步地,参见图6,根据各覆盖度量指标对应的被选概率对覆盖度量指标进行调整,包括:
S601:根据各覆盖度量指标对应的被选概率确定最大被选概率;
S602:将最大被选概率对应的覆盖度量指标设定为覆盖度量指标。
可以理解的是,上述步骤使用多臂赌博机算法(Bandit)实现,可以动态调整当前的覆盖度量指标,旨在发挥不同覆盖度量指标的优势,增加测试用例的多样性,进而探索到更多的程序路径,缓解当前低效运行的瓶颈。具体地,本申请实施例将模糊测试中覆盖度量指标的选择问题建模为多臂赌博机问题,即每种覆盖度量指标对应多臂赌博机中的一个臂,选择一个臂后得到的收益作为本次选择的奖励,当前程序所处的探索状态作为环境。
优选地,该步骤采用多臂赌博机算法中的汤姆森采样算法来执行覆盖度量指标的选择。汤普森采样算法是一种自然的贝叶斯算法,其基本思想是根据多臂赌博机中每个摇臂成为最佳摇臂的概率来选择每轮决策中要使用的摇臂。其在本申请实施例中的具体流程如下:
①每种覆盖度量指标作为一个候选项,即上述7种覆盖度量指标:bb、bc、ctx、mc、4-gram、8-gram、16-gram分别对应于多臂赌博机中不同的摇臂,将其编号为1至7,故此多臂赌博机共有7个臂。
②根据汤姆森采样算法,每个臂的选择概率对应一个参数为α、β(α、β为正实数)的贝塔分布函数,即每种覆盖度量指标的选择概率服从Beta(αi,βi)(i=1,2,3,…,7)先验分布。每次做选择时,让每个臂对应的贝塔分布函数各自独立产生一个随机数,按照这个随机数排序,选择产生最大随机数的覆盖度量指标作为本次的覆盖度量指标,其流程参见图15所示。
③根据执行奖励,更新贝塔分布函数。在本申请实施例中,将多臂赌博机问题的奖励简化为只有0和1两种情况,即伯努利多臂赌博机问题。具体而言,如果本次选择的覆盖度量指标执行的相对执行收益大于阈值τ(技术人员根据需要预先设定),则奖励为1,更新其对应的贝塔函数为Beta(α+1,β);反之奖励为0,更新其对应的贝塔函数为Beta(α,β+1)。
需要注意的是,在汤姆森采样算法起始时,需要对参数α、β进行初始化。初始化时,将模糊测试初始阶段选择的覆盖度量指标k(k为1~7中的一个编号)所对应的参数αk初始化为2,βk初始化为1。例如,初始阶段(即第一个迭代周期)选择的为分支覆盖bc,则将分支覆盖对应的α赋值为2,β赋值为1,其余覆盖度量标准对应的参数α、β均初始化为1,即符合均匀分布。
④此外,本申请实施例也考虑了不同覆盖指标结合使用的情况,即若单种覆盖度量指标对应的相对执行收益无法达到阈值τ,则使用组合多臂赌博机算法,同时结合多种覆盖度量。具体地,采用多动作汤姆森采样,即为每个基础臂维持一个贝塔分布Beta(αi,βi)(i=1,2,...,7),在每一轮将为每个基础臂i从其分布Beta(αi,βi)中采样一个随机变量θi,并对所有基础臂根据该随机变量从高到低排序,从中选择前两个基础臂组成本轮要选择的超级臂,这个超级臂所对应的覆盖度量指标则为本阶段将要结合使用的覆盖度量标准。
优选地,此处不同覆盖度量的结合使用是通过输入用例交叉的方式实现,即利用两种覆盖度量指标作为反馈保留下来的测试用例共用一个用例队列。
重复步骤③和④,直至设定的时间阈值耗尽或手动停止。
从上述描述可知,本申请提供的自适应感知覆盖度量反馈的模糊测试方法,能够对覆盖度量指标进行调整。
综上所述,本申请实施例提出的基于自适应感知覆盖度量反馈的模糊测试方法及装置的有益效果至少如下:
第一,考虑到不同程序的特点,针对不同特点的程序灵活选择更为合适的覆盖度量指标,避免了固定单一指标的局限性,使得测试更具有针对性,提高了测试效率;
第二,考虑程序测试的不同阶段,覆盖增益效率不同,利用多臂赌博机算法动态调整覆盖度量指标,使其覆盖度量选择具有自适应性,提高了模糊测试的路径探索效率;
第三,考虑了不同覆盖度量指标的结合使用,利用组合多臂赌博机算法充分发挥各覆盖度量指标的优势。
基于同一发明构思,本申请实施例还提供了一种模糊测试装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于模糊测试装置解决问题的原理与自适应感知覆盖度量反馈的模糊测试方法相似,因此模糊测试装置的实施可以参见基于软件性能基准确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
一实施例中,参见图7,为了能够对待测程序的特征进行静态分析,并在进行模糊测试的过程中动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率,本申请提供一种自适应感知覆盖度量反馈的模糊测试装置,包括:覆盖度量指标选取单元701、空间探索效率确定单元702及模糊测试终止单元703。
覆盖度量指标选取单元701,用于根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
空间探索效率确定单元702,用于在进行模糊测试时,根据选取的覆盖度量指标确定所述待测程序的空间探索效率;
模糊测试终止单元703,用于根据预设的探索效率阈值及所述空间探索效率确定继续或终止所述模糊测试。
一实施例中,所述特征信息包括:条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量;所述装置,还包括:
特征信息确定单元,用于利用交互式反汇编器提取所述条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量。
一实施例中,参见图8,所述覆盖度量指标包括:分支覆盖度量指标、内存覆盖度量指标及上下文敏感覆盖度量指标;所述覆盖度量指标选取单元701,包括:数量比较模块801及覆盖度量指标确定模块802。
数量比较模块801,用于比较所述条件跳转语句的数量、所述内存读写语句的数量及所述库函数调用语句与系统调用语句的数量;
覆盖度量指标确定模块802,用于根据比较结果确定所述覆盖度量指标;其中,若所述条件跳转语句的数量最大,所述覆盖度量指标为所述分支覆盖度量指标;若所述内存读写语句的数量最大,所述覆盖度量指标为所述内存覆盖度量指标;若所述库函数调用语句与系统调用语句的数量最大,所述覆盖度量指标为所述上下文敏感覆盖度量指标。
一实施例中,参见图9,所述的自适应感知覆盖度量反馈的模糊测试装置,还包括:路径集合生成单元901及测试用例删减单元902。
路径集合生成单元901,用于根据所述测试用例的程序执行路径生成同路径测试用例集;
测试用例删减单元902,用于对所述同路径测试用例集中的测试用例进行删减,以使所述同路径测试用例集中的测试用例唯一。
一实施例中,参见图10,所述空间探索效率确定单元702,包括:收益计算因子确定模块1001、第一执行收益确定模块1002、相对执行收益确定模块1003及空间探索效率确定模块1004。
收益计算因子确定模块1001,用于根据选取的覆盖度量指标确定测试执行收益计算因子;
第一执行收益确定模块1002,用于根据所述测试执行收益计算因子及对应的权重,确定在当前测试周期内对所述待测程序进行模糊测试的第一执行收益;
相对执行收益确定模块1003,用于根据预先计算的在前一测试周期内对所述待测程序进行模糊测试的第二执行收益及所述第一执行收益,确定所述当前测试周期的相对执行收益;
空间探索效率确定模块1004,用于根据所述相对执行收益确定所述空间探索效率。
一实施例中,所述空间探索效率确定单元702,还具体用于:
若所述相对执行收益小于预设的收益参考阈值,对所述覆盖度量指标进行调整。
一实施例中,参见图11,所述空间探索效率确定单元702,包括:被选概率确定模块1101及覆盖度量指标调整模块1102。
被选概率确定模块1101,用于利用贝塔分布函数确定各覆盖度量指标对应的被选概率;
覆盖度量指标调整模块1102,用于根据所述各覆盖度量指标对应的被选概率对所述覆盖度量指标进行调整。
一实施例中,参见图12,所述覆盖度量指标调整模块1102,包括:
最大被选概率确定子模块1201,用于根据所述各覆盖度量指标对应的被选概率确定最大被选概率;
覆盖度量指标设定子模块1202,用于将所述最大被选概率对应的覆盖度量指标设定为所述覆盖度量指标,并对所述贝塔分布函数的参数进行更新。
从硬件层面来说,为了能够对待测程序的特征进行静态分析,并在进行模糊测试的过程中动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率,本申请提供一种用于实现所述自适应感知覆盖度量反馈的模糊测试方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(Processor)、存储器(Memory)、通讯接口(Communications Interface)和总线;其中,所述处理器、存储器、通讯接口通过所述总线完成相互间的通讯;所述通讯接口用于实现所述模糊测试装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的自适应感知覆盖度量反馈的模糊测试方法的实施例,以及模糊测试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,自适应感知覆盖度量反馈的模糊测试方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通讯模块(即通讯单元),可以与远程的服务器进行通讯连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通讯链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图13为本申请实施例的电子设备9600的系统构成的示意框图。如图13所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图13是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,自适应感知覆盖度量反馈的模糊测试方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
S101:根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
S102:在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率;
S103:根据预设的探索效率阈值及所述空间探索效率调整所述覆盖度量指标,并确定继续或终止所述模糊测试。
从上述描述可知,本申请提供的自适应感知覆盖度量反馈的模糊测试方法,能够引入多种不同粒度的覆盖度量指标,避免单一度量指标所带来的局限性,通过对待测程序的特征进行静态分析,为具有不同特征的程序选取合适的覆盖度量指标,并在进行模糊测试的过程中,利用多臂赌博机算法动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率。
在另一个实施方式中,模糊测试装置可以与中央处理器9100分开配置,例如可以将数据复合传输装置模糊测试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现自适应感知覆盖度量反馈的模糊测试方法的功能。
如图13所示,该电子设备9600还可以包括:通讯模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图13中所示的所有部件;此外,电子设备9600还可以包括图13中没有示出的部件,可以参考现有技术。
如图13所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通讯功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通讯模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通讯模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通讯终端的情况相同。
基于不同的通讯技术,在同一电子设备中,可以设置有多个通讯模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通讯模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的自适应感知覆盖度量反馈的模糊测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的自适应感知覆盖度量反馈的模糊测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
S102:在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率;
S103:根据预设的探索效率阈值及所述空间探索效率调整所述覆盖度量指标,并确定继续或终止所述模糊测试。
从上述描述可知,本申请提供的自适应感知覆盖度量反馈的模糊测试方法,能够引入多种不同粒度的覆盖度量指标,避免单一度量指标所带来的局限性,通过对待测程序的特征进行静态分析,为具有不同特征的程序选取合适的覆盖度量指标,并在进行模糊测试的过程中,利用多臂赌博机算法动态调整覆盖度量指标,从而充分利用不同覆盖度量指标的优势,提高程序路径覆盖率及漏洞发现率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种自适应感知覆盖度量反馈的模糊测试方法,其特征在于,包括:
根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率;
根据预设的探索效率阈值及所述空间探索效率调整所述覆盖度量指标,并确定继续或终止所述模糊测试。
2.根据权利要求1所述的自适应感知覆盖度量反馈的模糊测试方法,其特征在于,所述特征信息包括:条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量;提取待测程序的特征信息的步骤,包括:
利用交互式反汇编器提取所述条件跳转语句的数量、内存读写语句的数量及库函数调用语句与系统调用语句的数量。
3.根据权利要求2所述的自适应感知覆盖度量反馈的模糊测试方法,其特征在于,所述覆盖度量指标包括:分支覆盖度量指标、内存覆盖度量指标及上下文敏感覆盖度量指标;所述根据预先提取的待测程序的特征信息选取对应的覆盖度量指标,包括:
比较所述条件跳转语句的数量、所述内存读写语句的数量及所述库函数调用语句与系统调用语句的数量;
根据比较结果确定所述覆盖度量指标;其中,若所述条件跳转语句的数量最大,所述覆盖度量指标为所述分支覆盖度量指标;若所述内存读写语句的数量最大,所述覆盖度量指标为所述内存覆盖度量指标;若所述库函数调用语句与系统调用语句的数量最大,所述覆盖度量指标为所述上下文敏感覆盖度量指标。
4.根据权利要求1所述的自适应感知覆盖度量反馈的模糊测试方法,其特征在于,所述利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率,包括:
根据选取的覆盖度量指标确定测试执行收益计算因子;
根据所述测试执行收益计算因子及对应的权重,确定在当前测试周期内对所述待测程序进行模糊测试的第一执行收益;
根据预先计算的在前一测试周期内对所述待测程序进行模糊测试的第二执行收益及所述第一执行收益,确定所述当前测试周期的相对执行收益;
根据所述相对执行收益确定所述空间探索效率。
5.根据权利要求4所述的自适应感知覆盖度量反馈的模糊测试方法,其特征在于,在根据所述相对执行收益确定所述空间探索效率之后,还包括:
若所述相对执行收益小于预设的收益参考阈值,对所述覆盖度量指标进行调整。
6.根据权利要求5所述的自适应感知覆盖度量反馈的模糊测试方法,其特征在于,所述对所述覆盖度量指标进行调整,包括:
利用贝塔分布函数确定各覆盖度量指标对应的被选概率;
根据所述各覆盖度量指标对应的被选概率对所述覆盖度量指标进行调整。
7.根据权利要求6所述的自适应感知覆盖度量反馈的模糊测试方法,其特征在于,所述根据所述各覆盖度量指标对应的被选概率对所述覆盖度量指标进行调整,包括:
根据所述各覆盖度量指标对应的被选概率确定最大被选概率;
将所述最大被选概率对应的覆盖度量指标设定为所述覆盖度量指标,并对所述贝塔分布函数的参数进行更新。
8.一种自适应感知覆盖度量反馈的模糊测试装置,其特征在于,包括:
覆盖度量指标选取单元,用于根据预先提取的待测程序的特征信息选取对应的覆盖度量指标;
空间探索效率确定单元,用于在进行模糊测试时,利用选取的覆盖度量指标引导测试用例选择并度量所述待测程序的空间探索效率;
模糊测试终止单元,用于根据预设的探索效率阈值及所述空间探索效率调整所述覆盖度量指标,并确定继续或终止所述模糊测试。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的自适应感知覆盖度量反馈的模糊测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的自适应感知覆盖度量反馈的模糊测试方法的步骤。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任一项所述的自适应感知覆盖度量反馈的模糊测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210688261.1A CN115061911A (zh) | 2022-06-17 | 2022-06-17 | 一种自适应感知覆盖度量反馈的模糊测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210688261.1A CN115061911A (zh) | 2022-06-17 | 2022-06-17 | 一种自适应感知覆盖度量反馈的模糊测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115061911A true CN115061911A (zh) | 2022-09-16 |
Family
ID=83201537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210688261.1A Pending CN115061911A (zh) | 2022-06-17 | 2022-06-17 | 一种自适应感知覆盖度量反馈的模糊测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115061911A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383067A (zh) * | 2023-04-07 | 2023-07-04 | 上海安般信息科技有限公司 | 一种基于模糊测试停止的充分性判断方法及装置 |
-
2022
- 2022-06-17 CN CN202210688261.1A patent/CN115061911A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383067A (zh) * | 2023-04-07 | 2023-07-04 | 上海安般信息科技有限公司 | 一种基于模糊测试停止的充分性判断方法及装置 |
CN116383067B (zh) * | 2023-04-07 | 2023-11-21 | 上海安般信息科技有限公司 | 一种基于模糊测试停止的充分性判断方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110852421B (zh) | 模型生成方法和装置 | |
US9280451B2 (en) | Testing device | |
CN106649084A (zh) | 函数调用信息的获取方法及装置、测试设备 | |
CN107145446B (zh) | 一种应用程序app的测试方法、装置和介质 | |
CN110879776A (zh) | 一种测试用例的生成方法和装置 | |
CN114157701A (zh) | 一种任务测试方法、装置、设备以及存储介质 | |
CN115061911A (zh) | 一种自适应感知覆盖度量反馈的模糊测试方法及装置 | |
CN107766546B (zh) | 应用推荐方法、装置、存储介质及终端设备 | |
US11798029B2 (en) | System for effective use of data for personalization | |
US20090157682A1 (en) | Managing maintenance tasks for computer programs | |
CN113392018B (zh) | 流量分发方法、装置、存储介质及电子设备 | |
CN103502977B (zh) | 通过预期的预处理减少所服务的应用程序的等待时间 | |
WO2023129340A1 (en) | Automated generation of agent configurations for reinforcement learning | |
CN115577363A (zh) | 恶意代码反序列化利用链的检测方法及装置 | |
CN116149978A (zh) | 服务接口测试方法、装置、电子设备及存储介质 | |
KR102322957B1 (ko) | 개발할 게임의 우선순위를 정하는 서버의 동작 방법 | |
CN112905491B (zh) | 一种软件测试有效性分析方法及装置 | |
CN109218411A (zh) | 数据处理方法及装置、计算机可读存储介质、电子设备 | |
JP7449933B2 (ja) | 推論装置 | |
KR102343848B1 (ko) | 이용자 상태 벡터를 이용한 전환 전략 탐색 방법 및 운영 장치 | |
CN115545221A (zh) | 一种集成预测模型的确定方法及相关装置 | |
CN117348917A (zh) | 程序代码的处理方法、装置、存储介质和电子装置 | |
CN117217379A (zh) | 跨场景预测模型训练方法及预测方法、装置及存储介质 | |
CN116390130A (zh) | 链路优化方法、装置、存储介质及计算机设备 | |
CN114461329A (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 |