CN114661577B - 一种基于确定性策略与覆盖引导的模糊测试方法 - Google Patents

一种基于确定性策略与覆盖引导的模糊测试方法 Download PDF

Info

Publication number
CN114661577B
CN114661577B CN202210096735.3A CN202210096735A CN114661577B CN 114661577 B CN114661577 B CN 114661577B CN 202210096735 A CN202210096735 A CN 202210096735A CN 114661577 B CN114661577 B CN 114661577B
Authority
CN
China
Prior art keywords
coverage
seed
test
variation
seeds
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.)
Active
Application number
CN202210096735.3A
Other languages
English (en)
Other versions
CN114661577A (zh
Inventor
陈哲
许光全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN202210096735.3A priority Critical patent/CN114661577B/zh
Publication of CN114661577A publication Critical patent/CN114661577A/zh
Application granted granted Critical
Publication of CN114661577B publication Critical patent/CN114661577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

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

一种基于确定性策略与覆盖引导的模糊测试方法
技术领域
本发明涉及软件安全测试技术领域,具体涉及一种基于确定性策略与覆盖引导的模糊测试方法。
背景技术
近年来,在“互联网+”的时代背景下,随着互联网产业的不断发展,市面上的各类软件数量产生了爆发式增长。并且由于软件开发中敏捷、DevOps等开发模式的引入以及数据治理、人工智能应用的发展,软件交付周期逐渐缩短,技术复杂度不断提升,导致目前的软件手动测试难度越来越大,急需更多自动化测试技术的投入和应用。加之以往的测试往往集中于软件功能方面的测试要求,而经常忽视软件安全性能上的评估,因此基于目前对于软件安全保障的要求以及自动化测试的需要,模糊测试类技术和工具得到了长足的发展。
模糊测试是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。模糊测试的主要思想是向目标程序提供大量随机化的输入(即测试用例),通过观察程序的异常进而进行进一步的分析发现程序存在的各类问题。相较于手工构建测试用例的测试方法,模糊测试的实现是一个非常简单的过程,仅需要准备一份插入程序中的正确的文件,然后用随机数据替换该文件的某些部分,再用程序打开文件,观察破坏了什么,并不断重复以上的过程。
目前主流的模糊测试方法是基于代码覆盖引导的Fuzzing技术,其中的佼佼者是2014年由google开源的一款基于覆盖引导的Fuzzing工具AFL。该工具是模糊测试历史上具有里程碑意义的一款工具。目前包括AFL在内的工具往往采用的是基于变异的模糊测试。通常,它需要一部分的初始种子(测试用例)并按一定顺序选择它们,然后以各种方式对其进行变异,并使用新生成的测试用例来测试目标程序。在过去的几年中,已经提出了许多新的解决方案,其中包括改进种子生成解决方案的解决方案,旨在改进种子的生成方法;改进选择策略,提高测试速度和代码覆盖率的策略,以及将其他技术与模糊技术集成的策略。
但是,研究者很少关注如何使测试用例变异以生成新的有效用例。大量公认的模糊器,例如AFL及其后代LibFuzzer,HonggFuzzer和VUzzer,通常预定义了一组突变算子来表征在何处进行突变(例如,字节)以及如何更改(例如,添加、删除或替换字节)。在模糊测试期间,他们使用某些突变调度程序从此预定义集合中选择运算符,以对测试用例进行突变以生成新的模糊测试用例。突变调度程序不是直接产生突变算子,而是产生预定义算子的概率分布,并且模糊器将选择遵循该分布的算子。从而导致了针对不同特点的程序,模糊器无法做到针对程序特点定向的生成合适的测试样例,导致了资源的大量浪费和影响了模糊测试的效果。
发明内容
(1)要解决的技术问题
本发明实施例提供了一种基于确定性策略与覆盖引导的模糊测试方法,解决了传统的模糊测试针对不同软件效果差异极大的技术问题。
(2)技术方案
本发明提供了一种基于确定性策略与覆盖引导的模糊测试方法,包括以下步骤:
对被测程序进行编译插桩;
针对种子变异生成样例的测试结果优化种子变异调度模型,通过插桩反馈信息进行种子编译选择;
当所述被测程序的代码覆盖率不再增加且设定时间内不产生新漏洞时,停止模糊测试。
进一步地,所述针对种子变异生成样例的测试结果,依据确定性策略优化种子变异调度模型,具体包括如下步骤:
按照度量的粗细粒度依次对种子进行分类,并选择差异大的种子进行变异;
依据变异后的种子生成样例的测试结果对所述种子变异调度模型进行优化。
进一步地,所述依据变异后的种子生成样例的测试结果,依据确定性策略对所述种子变异调度模型进行优化,包括:
所述变异调度模块的得分与其生成的测试用例覆盖率的大小成正比,且与其具体覆盖路径在整个模糊测试过程中出现的频率成反比。
进一步地,所述依据变异后的种子生成样例的测试结果,依据确定性策略对所述种子变异调度模型进行优化,还包括:所述变异调度模块的得分与发现触发的漏洞类型相关。
进一步地,所述变异调度模块的得分与发现触发的漏洞类型相关,具体为:
当所述漏洞类型为现有的漏洞时,则按照CVSS的标准进行给分;
当所述漏洞类型为尚未被发现的漏洞时,则按照最高标准给分,同时这一给分情况也会随着同一被发现次数的增多呈反比下降。
进一步地,所述依据变异后的种子生成样例的测试结果对所述种子变异调度模型进行优化,还包括:所述变异调度模块的得分与当前用例的用时在整个模糊测试过程中的所有用时集合中所处的百分比区间相关。
进一步地,采用深度确定性策略梯度算法,将种子选择单次变异算子的过程确定为在多个选项中选择一个的决策行为。
进一步地,停止模糊测试后,验证触发漏洞的输入样例。
本发明还提供了一种基于确定性策略与覆盖引导的模糊测试工具,包括:
编译工具链,用于对待测程序进行编译插桩,并将所述测试用例放入程序执行,检测程序的运行情况,并反馈信息;
变异种子选择器,用于从种子池中选择种子进行变异;
种子变异调度选择器,用于针对被选择的种子生成多个随机化的变异序列,按照所述变异序列加载变异算子对种子进行变异,生成多个测试用例。
进一步地,所述变异种子选择器,具体用于:按照度量的粗细粒度依次对种子进行分类,并选择差异大的种子进行变异。
(3)有益效果
综上,本发明通过改进的种子变异调度模型,提高用例的有效性极为显著地提高模糊测试的效率,能有效解决工具的通用性问题,使得工具有更强的实用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于确定性策略与覆盖引导的模糊测试方法的流程示意图;
图2是本发明实施例提供的一种基于确定性策略与覆盖引导的模糊测试工具的结构示意图。
图中:
100-编译工具链;200-变异种子选择器;300-种子变异调度选择器。
具体实施方式
下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本发明的原理,但不能用来限制本发明的范围,即本发明不限于所描述的实施例,在不脱离本发明的精神的前提下覆盖了零件、部件和连接方式的任何修改、替换和改进。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参照附图并结合实施例来详细说明本申请。
图1是本发明实施例提供的一种基于确定性策略与覆盖引导的模糊测试方法的流程示意图,包括以下步骤:
S100、对被测程序进行编译插桩;
S200、针对种子变异生成样例的测试结果,依据确定性策略优化种子变异调度模型,通过插桩反馈信息进行种子编译选择;
S300、当被测程序的代码覆盖率不再增加且设定时间内不产生新漏洞时,停止模糊测试。
在上述实施方式中,对于种子变异调度选择的研究存在相当的必要性,而强化学习中的确定性策略方法(DDPG)可以完美适用于这一使用场景,DDPG适用于连续动作控制领域,可以通过DDPG方法构建一个全新的种子变异调度器并以软件覆盖率作为指导标准,从而使得针对不同的软件能够有针对性的生成变异方案,极大的提高变异效率,节省软件测试的成本。
其中,在编译插装前还包括对系统进行初始化工作(准备被测软件,部署程序所需环境,模型初始化,准备初始程序输入文件等)。
反馈信息包括覆盖率、执行时间及触发异常情况等。
在一些可选的实施例中,步骤S200中,针对种子变异生成样例的测试结果,依据确定性策略优化种子变异调度模型,具体包括如下步骤:
S201、按照度量的粗细粒度依次对种子进行分类,并选择差异大的种子进行变异;
S202、依据变异后的种子生成样例的测试结果,依据确定性策略对种子变异调度模型进行优化。
具体地,由于模糊测试程序有限的处理能力,它往往会使一些种子优先于其他种子被选择进行变异,以最大限度地扩大覆盖范围。例如AFL(American Fuzzy Lop),就更喜欢尺寸比较小和执行时间比较短的种子,以实现更高的模糊测试吞吐量。此外,它维护了一组最小的种子,强调到目前为止的所有代码覆盖率,并将重点放在模糊化它们。
而由于代码覆盖率的度量方式存在多种,往往采用不同的度量方式会很直接的影响到这种选择器的选择效果,AFL采用的是边覆盖度量,这是一种很细粒度的度量方式,能够有效区分不同测试样例的覆盖区别,但是过于细粒度会导致无法进行更宏观的区分,即可以分辨种子A、B与C的覆盖率不同,但不能真实的反应他们三者差异的大小,因此考虑引入多种覆盖度量方案,即在现有的边覆盖度量上加入基本块覆盖度量(即仅记录被执行过的代码块)、条件覆盖度量(即记录每个判断语句中的每个子表达式结果为true和false的情况)、路径覆盖度量(即记录每个判断语句中各种可能组合的出现情况)与行覆盖度量(即具体记录到被执行过的代码语句)标准,按照度量的粗细粒度依次对种子进行分类,从而便于选择种子进行变异时能尽量选择差异较大的种子进行变异。
在一些可选的实施例中,步骤S202中,依据变异后的种子生成样例的测试结果,依据确定性策略对种子变异调度模型进行优化,包括:
变异调度模块的得分与其生成的测试用例覆盖率的大小成正比,且与其具体覆盖路径在整个模糊测试过程中出现的频率成反比。
具体地,为了构建强化学习的种子变异调度模型,需要对reward进行设计,用于指导模型构建。通过对模糊测试工具性能的分析,此处采用工具性能中的以下几点指导reward设计:
考虑到覆盖引导对于模糊测试的指导作用,种子变异调度序列的得分应充分考虑其生成用例带来的覆盖率变化,该部分的评分标准可以类比搜索引擎常用算法TF-IDF(term frequency–inverse document frequency,词频-逆文件频率),即变异调度的得分随着它生成的测试用例覆盖率的大小成正比增加,但同时会随着它具体覆盖路径在整个模糊测试过程中出现的频率成反比下降。
在一些可选的实施例中,依据变异后的种子生成样例的测试结果,依据确定性策略对种子变异调度模型进行优化,还包括:变异调度模块的得分与发现触发的漏洞类型相关。
具体地,除了覆盖率之外,另一类值得关注的指标为生成测试用例触发的崩溃或者bug情况,按照定向fuzz的指导思想,出现bug的地方往往会存在更多的bug。因此这一块的得分应当取决于发现触发的崩溃或bug类型给与不同的分数,如果是现有的bug则按照CVSS(通用漏洞评分系统)的标准进行给分。
在一些可选的实施例中,变异调度模块的得分与发现触发的漏洞类型相关,具体为:
当漏洞类型为现有的漏洞时,则按照CVSS的标准进行给分;
当漏洞类型为尚未被发现的漏洞时,则按照最高标准给分,同时这一给分情况也会随着同一被发现次数的增多呈反比下降。
在一些可选的实施例中,依据变异后的种子生成样例的测试结果对种子变异调度模型进行优化,还包括:变异调度模块的得分与当前用例的用时在整个模糊测试过程中的所有用时集合中所处的百分比区间相关。
其中,在所有用例中用时越短给分越高。
在一些可选的实施例中,采用深度确定性策略梯度算法,将种子选择单次变异算子的过程确定为在多个选项中选择一个的决策行为。
具体地,通过上述确定的reward设计方案,进行进一步的模型构建,采用的模型算法为强化学习中的深度确定性策略梯度模型,将给种子选择单次变异算子的过程看成是在多个选项中选择一个的决策行为,则种子变异的整个过程可以看作是进行了多个连续的决策行为。这样会产生一个相对较高维的连续动作集合,动作的空间维度极大。而针对这一类情况,确定性策略可以有效的简化问题,取得较好的效果。
在一些可选的实施例中,停止模糊测试后,验证触发漏洞的输入样例。具体地,将样例再次输入程序,并跟踪程序运行(若有源码则跟踪代码执行,若只有二进制程序则进行逆向动态分析),对输入造成的问题进行具体分析,并对输入特点进行总结尝试,判断漏洞类型以及相关特点。
图2是本发明实施例还提供了一种基于确定性策略与覆盖引导的模糊测试工具,包括:
编译工具链100,用于对待测程序进行编译插桩,并将测试用例放入程序执行,检测程序的运行情况,并反馈信息;
变异种子选择器200,用于从种子池中选择种子进行变异;
种子变异调度选择器300,用于针对被选择的种子生成多个随机化的变异序列,按照变异序列加载变异算子对种子进行变异,生成多个测试用例。
在一些可选的实施例中,变异种子选择器,具体用于:按照度量的粗细粒度依次对种子进行分类,并选择差异大的种子进行变异。
本发明最终的实现一个基于确定性策略与覆盖引导的模糊测试工具,利用该工具对软件进行安全测试,提高了软件本身的安全性能和降低了测试所需要的时间人力成本。
需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本发明并不局限于上文所描述并在图中示出的特定步骤和结构。并且,为了简明起见,这里省略对已知方法技术的详细描述。
以上仅为本申请的实施例而已,并不限制于本申请。在不脱离本发明的范围的情况下对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围内。

Claims (2)

1.一种基于确定性策略与覆盖引导的模糊测试方法,其特征在于,通过确定性策略方法构建一个种子变异调度器并以软件覆盖率作为指导标准,该方法包括以下步骤:
对被测程序进行编译插桩;
针对种子变异生成样例的测试结果,依据确定性策略优化种子变异调度模型,通过插桩反馈信息进行种子编译选择;
当所述被测程序的代码覆盖率不再增加且设定时间内不产生新漏洞时,停止模糊测试;
所述针对种子变异生成样例的测试结果优化种子变异调度模型,具体包括如下步骤:
按照度量的粗细粒度依次对种子进行分类,并选择差异大于预设值的种子进行变异,具体为:在边覆盖度量上加入基本块覆盖度量、条件覆盖度量、路径覆盖度量与行覆盖度量标准,按照度量的粗细粒度依次对种子进行分类,选择种子进行变异时选择差异大于预设值的种子进行变异;所述基本块覆盖度量为仅记录被执行过的代码块,所述条件覆盖度量为记录每个判断语句中的每个子表达式结果为true和false的情况,所述路径覆盖度量为记录每个判断语句中组合的出现情况,所述行覆盖度量为具体记录到被执行过的代码语句;
依据变异后的种子生成样例的测试结果,依据确定性策略对所述种子变异调度模型进行优化;
所述依据变异后的种子生成样例的测试结果,依据确定性策略对所述种子变异调度模型进行优化,包括:
所述变异调度模块的得分与其生成的测试用例覆盖率的大小成正比,且与其具体覆盖路径在整个模糊测试过程中出现的频率成反比;
所述变异调度模块的得分与发现触发的漏洞类型相关,具体为:
当所述漏洞类型为现有的漏洞时,则按照CVSS的标准进行给分;
当所述漏洞类型为尚未被发现的漏洞时,则按照最高标准给分,同时这一给分情况也会随着同一被发现次数的增多呈反比下降;
所述变异调度模块的得分与当前用例的用时在整个模糊测试过程中的所有用时集合中所处的百分比区间相关;
采用深度确定性策略梯度算法,将种子选择单次变异算子的过程确定为在多个选项中选择一个的决策行为。
2.根据权利要求1所述的基于确定性策略与覆盖引导的模糊测试方法,其特征在于,停止模糊测试后,验证触发漏洞的输入样例。
CN202210096735.3A 2022-01-26 2022-01-26 一种基于确定性策略与覆盖引导的模糊测试方法 Active CN114661577B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210096735.3A CN114661577B (zh) 2022-01-26 2022-01-26 一种基于确定性策略与覆盖引导的模糊测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210096735.3A CN114661577B (zh) 2022-01-26 2022-01-26 一种基于确定性策略与覆盖引导的模糊测试方法

Publications (2)

Publication Number Publication Date
CN114661577A CN114661577A (zh) 2022-06-24
CN114661577B true CN114661577B (zh) 2023-09-26

Family

ID=82026313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210096735.3A Active CN114661577B (zh) 2022-01-26 2022-01-26 一种基于确定性策略与覆盖引导的模糊测试方法

Country Status (1)

Country Link
CN (1) CN114661577B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115269412B (zh) * 2022-07-29 2024-08-16 东南大学 一种基于目标前置区域搜索的定向模糊测试方法
CN116383067B (zh) * 2023-04-07 2023-11-21 上海安般信息科技有限公司 一种基于模糊测试停止的充分性判断方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193731A (zh) * 2017-05-12 2017-09-22 北京理工大学 使用控制变异的模糊测试覆盖率改进方法
CN108171064A (zh) * 2018-01-29 2018-06-15 中国人民解放军战略支援部队信息工程大学 一种用于灰盒模糊测试的样本格式保护方法及装置
CN108416219A (zh) * 2018-03-18 2018-08-17 西安电子科技大学 一种Android二进制文件漏洞检测方法及系统
CN109032942A (zh) * 2018-07-24 2018-12-18 北京理工大学 一种基于afl的模糊测试框架
CN110147310A (zh) * 2019-04-02 2019-08-20 中国科学院信息工程研究所 一种基于变异策略的并行模糊测试调度方法及装置
CN110175120A (zh) * 2019-05-20 2019-08-27 北京理工大学 一种基于强化学习的模糊测试用例自适应变异方法和装置
CN110348216A (zh) * 2019-05-24 2019-10-18 中国科学院信息工程研究所 一种针对云计算系统虚拟设备的模糊测试方法及系统
AU2021100592A4 (en) * 2021-01-29 2021-04-15 Dayalbagh Educational Institute Quantum seeded hybrid evolutionary computational process for constrained optimization
CN113835998A (zh) * 2021-07-30 2021-12-24 上海大学 一种基于字权变异和虚拟插桩的嵌入式固件灰盒模糊测试方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193731A (zh) * 2017-05-12 2017-09-22 北京理工大学 使用控制变异的模糊测试覆盖率改进方法
CN108171064A (zh) * 2018-01-29 2018-06-15 中国人民解放军战略支援部队信息工程大学 一种用于灰盒模糊测试的样本格式保护方法及装置
CN108416219A (zh) * 2018-03-18 2018-08-17 西安电子科技大学 一种Android二进制文件漏洞检测方法及系统
CN109032942A (zh) * 2018-07-24 2018-12-18 北京理工大学 一种基于afl的模糊测试框架
CN110147310A (zh) * 2019-04-02 2019-08-20 中国科学院信息工程研究所 一种基于变异策略的并行模糊测试调度方法及装置
CN110175120A (zh) * 2019-05-20 2019-08-27 北京理工大学 一种基于强化学习的模糊测试用例自适应变异方法和装置
CN110348216A (zh) * 2019-05-24 2019-10-18 中国科学院信息工程研究所 一种针对云计算系统虚拟设备的模糊测试方法及系统
AU2021100592A4 (en) * 2021-01-29 2021-04-15 Dayalbagh Educational Institute Quantum seeded hybrid evolutionary computational process for constrained optimization
CN113835998A (zh) * 2021-07-30 2021-12-24 上海大学 一种基于字权变异和虚拟插桩的嵌入式固件灰盒模糊测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LearnAFL: Greybox Fuzzing With Knowledge Enhancement;T. Yue 等;《IEEE Access》;第07卷;117029-117043 *
基于种子变异潜力的模糊测试方法;王乔 等;《科学技术与工程》;第20卷(第09期);3656-3661 *

Also Published As

Publication number Publication date
CN114661577A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN114661577B (zh) 一种基于确定性策略与覆盖引导的模糊测试方法
Li et al. Cerebro: context-aware adaptive fuzzing for effective vulnerability detection
Yoo et al. Regression testing minimization, selection and prioritization: a survey
Alipour et al. Generating focused random tests using directed swarm testing
Kumar et al. Optimization of test cases using soft computing techniques: a critical review
Scalabrino et al. Search-based testing of procedural programs: Iterative single-target or multi-target approach?
Lefticaru et al. Functional search-based testing from state machines
CN112860588A (zh) 一种针对智能合约跨合约漏洞的模糊测试方法
Ghani et al. Automatic test data generation for multiple condition and MCDC coverage
CN115455435A (zh) 一种智能合约模糊测试方法、装置、存储介质及电子设备
Ribeiro Search-based test case generation for object-oriented java software using strongly-typed genetic programming
Sapna et al. Clustering test cases to achieve effective test selection
Zhu et al. Improving search-based software testing by constraint-based genetic operators
Perera et al. An experimental assessment of using theoretical defect predictors to guide search-based software testing
Li et al. Breeding software test data with genetic-particle swarm mixed algorithm.
Solanki et al. A Comparative evaluation of “m-ACO” technique for test suite prioritization
Solanki et al. Test case prioritization: an approach based on modified ant colony optimization (m-ACO)
CN117633804A (zh) 基于污点动态能量调控分析的电力物联终端漏洞挖掘方法
Yano et al. A multi-objective evolutionary algorithm to obtain test cases with variable lengths
Vogel et al. A comprehensive empirical evaluation of generating test suites for mobile applications with diversity
CN112181420A (zh) 基于强化学习的编译器缺陷定位方法
Abid et al. Intelligent change operators for multi-objective refactoring
CN115048298A (zh) 一种面向数据包拼接的种子调度权值分配方法
Khan et al. An analysis of the code coverage-based greedy algorithms for test suite reduction
Mirhosseini et al. A Search-Based Test Data Generation Method for Concurrent Programs

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Chen Zhe

Inventor after: Xu Guangquan

Inventor before: Chen Zhe

GR01 Patent grant
GR01 Patent grant