CN104503901A - 一种基于静态路径分析的导向符号执行方法 - Google Patents
一种基于静态路径分析的导向符号执行方法 Download PDFInfo
- Publication number
- CN104503901A CN104503901A CN201410738073.0A CN201410738073A CN104503901A CN 104503901 A CN104503901 A CN 104503901A CN 201410738073 A CN201410738073 A CN 201410738073A CN 104503901 A CN104503901 A CN 104503901A
- Authority
- CN
- China
- Prior art keywords
- path
- analysis
- static
- function
- fundamental block
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于静态路径分析的导向符号执行方法,能够快速到达指定的代码的位置,并给出到达目的代码的测试输入。步骤一、首先通过静态分析确定检测的目标,找到目标程序中内存分配相关的代码或指令;步骤二、获取从程序起始点到指定代码点的路径相关函数和基本块,并依据路径可达性和距离对这些函数和基本块进行权值计算;步骤三、优先选择权值大的静态分析可达路径进行遍历;步骤四、静态路径分析;步骤五、将静态路径分析所得到的路径相关的函数和基本块信息放到Paths[funcs,bbs]中,所有要分析的目标指令存放到allocCallInst的Vector中,states中存放当前所有的路径状态,当符号执行引擎对目标程序进行执行分析,通过循环对程序中的指令进行逐条解释执行。
Description
技术领域
本发明涉及一种导向符号执行方法,具体涉及一种基于静态路径分析的导向符号执行方法。
背景技术
符号执行是一种通过将输入数据看作符号值,并模拟程序执行,在执行的过程中将路径的约束条件使用无量词一阶公式形成约束表达式,从而实现对程序的分析。
尽管符号执行技术在三十年前就被提出,近年来大量的研究人员对其充满热情,尤其是在软件安全分析方面,符号执行技术被用于产生高覆盖率的测试用例、查找程序中更深层的bug、攻击代码自动生成等等。符号执行技术已经在学术实验室和工业领域被应用到各种工具中。符号执行首先在代码检测中被用于提高代码的覆盖率,可以遍历尽可能多的代码路径,已经在多个工具中得到应用。理论上可控内存分配问题可以使用进行完整的检测。但符号执行所引起的路径爆炸导致无法完整的遍历完成整个程序。但我们的工作主要是搜索到达特定代码的路径,因此只需对部分代码进行遍历。
我们了解到已有一些工作对利用符号执行来到大某个特殊代码行的相关研究,如执行综合,最短路径符号执行,综合信息控制流图等。其中ESD使用接近的导向符号执行来到达程序的指定代码行,但其工作并没有公开,我们无法重复其工作。而我们使用的是基于路径相关函数和基本块的权值实现的导向符号执行的。最短路径符号执行和后向符号执行是在一个过程间的控制流图上进行导向符号执行,可以通过计算到达目标代码行的最短距离来导向程序的执行,以及从指定目标代码行向调用该代码的函数进行后向执行来实现找到指定代码的可达路径探测。Domagoj在2011年提出了基于静态导向的动态测试用例生成,并设计了一个三步完成的思路。2013年,Caselden在其基础上又提出了综合信息控制流图的方法,可以对二进制程序构建一个特殊的控制流图,从而实现导向符号执行。基于循环扩展的符号执行对符号执行做了一定的优化,可以检测到因为符号值作为循环变量导致的缓冲区溢出,但其需要引入多个其他符号变量。而我们的符号执行优化主要是对整数相关的属性进行增强以及整数转换操作函数进行优化。虽然有效的提高了代码的覆盖率,但其对执行到指定代码处没有任何速度上的提高,且没有任何对路径爆炸的优化。
目前静态分析技术找到的路径很多,且并不一定实际可达。而符号执行技术受限与路径爆炸问题,难以快速到达指定的目标代码。
发明内容
本发明的目的在于提供一种基于静态路径分析的导向符号执行方法,能够快速到达指定的代码的位置,并给出到达目的代码的测试输入。
本发明的目的是通过以下技术方案实现:
一种基于静态路径分析的导向符号执行方法,包括以下步骤:
步骤一、首先通过静态分析确定检测的目标,找到目标程序中内存分配相关的代码或指令;
步骤二、获取从程序起始点到指定代码点的路径相关函数和基本块,并依据路径可达性和距离对这些函数和基本块进行权值计算,形成一个基于代码基本块的加权源-目标有向图;
步骤三、函数和基本块路径的权值确定后,通过符号执行寻找实际可达路径,优先选择权值大的静态分析可达路径进行遍历,减少路径探测引发的组合爆炸;
步骤四、静态路径分析:首先分析指定的起点和终点之间路径可达性关系,然后获取可达路径相关的函数和基本块信息,最后利用函数、基本块之间的可达性和路径距离进行权值设定;
步骤五、导向符号执行:将静态路径分析所得到的路径相关的函数和基本块信息放到Paths[funcs,bbs]中,所有要分析的目标指令存放到allocCallInst的Vector中,states中存放当前所有的路径状态,当符号执行引擎对目标程序进行执行分析,通过循环对程序中的指令进行逐条解释执行。
其中逐条解释执行采用以下方法:首先通过选择路径算法选择权值最大的路径优先执行,在符号执行的过程中,如果碰到退出或者发生错误将产生相应的测试用例并退出该路径,如果遇到函数调用指令,则判断是否是我们需要检测的目标指令,如果是则将进行检测,输出到达目标指令的路径并生成相应的测试输入;当执行到分支指令时,则对分支跳转的基本块进行判断,在符号求解之后检查可跳转的基本块是否在静态分析的相关路径的基本块中,如果是则加入要执行的路径状态,如果不是则不加入。从而实现路径相关的选择。
其中选择路径算法为在每次路径选择时,通过对当前所有的状态进行遍历,依据静态分析的结果来选择当前权值最大的基本块作为下一个执行的路径。
其中导向符号执行中还包括整数敏感的符号执行。
其中步骤四中静态路径分析具体包括以下步骤:
(1)首先确定路径分析的起点和终点:main函数入口为起点,终点由用户指定,通过目标代码的位置,找到相应指令和函数位置;
(2)通过函数调用关系图分析,获取从程序入口到达目标函数的路径,以函数名称和调用指令所在基本块作为路径节点;
(3)在上述分析得到的路径基础上,在函数内以基本块为单位进行路径分析,获取从函数入口基本块到调用指令所在基本块函数内路径;
(4)根据后面启发式符号执行所需要的信息,建立可达路径节点集合和不可达路径节点集合;集合中的节点由函数和基本块组成,可达路径集合包括前面所获取的路径上的所有节点,而不可达节点目前仅包含在前面获取的路径上的函数内,但不属于可达路径集合的节点。
本发明的有益效果:
本发明主要通过基于静态路径分析的导向符号执行来实现找到指定的路径,通过符号执行可以对程序代码进行遍历,但路径状态爆炸导致常规的符号执行无法实现指定路径的查找。本发明在静态路径分析的基础上,并结合针对符号执行的优化来实现执行路径的快速查找。
附图说明
图1为一种基于静态路径分析的导向符号执行方法流程图。
具体实施方式
下面结合具体实施例详细说明本发明,但本发明并不仅限于此。
首先需要通过静态分析确定检测的目标,即找到目标程序中内存分配相关的代码(或指令)。为此需要获取从程序起始点到指定代码点的路径相关函数和基本块,并依据路径可达性和距离对这些函数和基本块进行权值计算,形成一个基于代码基本块的加权源-目标有向图。
当函数/基本块路径的权值确定后,再通过符号执行寻找实际可达路径。通过采用启发式的导向符号执行技术,可优先选择权值大的静态分析可达路径进行遍历,减少路径探测引发的组合爆炸,从而可有效的实现可达路径的探测。
静态路径分析:首先分析指定的起点(一般是main函数入口)和终点(指定的目标代码)之间路径可达性关系,获取可达路径相关的函数和基本块信息,并利用函数、基本块之间的可达性和路径距离进行权值设定。主要包括下述4个阶段:
(1)首先确定路径分析的起点和终点。一般是main函数入口为起点,终点由用户指定。通过目标代码的位置,找到相应指令和函数位置。
(2)通过函数调用关系图分析,获取从程序入口到达目标函数的路径,以函数名称和调用指令所在基本块(Basic Block,简称BB)作为路径节点。这里不考虑函数中的递归调用关系。
(3)在第2阶段分析得到的路径基础上,在函数内以基本块为单位进行路径分析,获取从函数入口基本块到调用指令所在基本块函数内路径。
(4)在前面所获取的路径信息的基础上,根据后面启发式符号执行所需要的信息,将建立可达路径节点集合和不可达路径节点集合。集合中的节点由函数和基本块组成。可达路径集合包括前面所获取的路径上的所有节点。而不可达节点目前仅包含在前面获取的路径上的函数内,但不属于可达路径集合的节点。对于静态路径分析中没有获取到的函数,目前我们不能断定就是不可达路径集合中的节点。
导向符号执行:传统的符号执行通过各种不同的路径搜索策略试图遍历所有的程序路径,然而程序复杂性、循环、递归等导致常用的路径搜索算法无法执行更多的代码,如深度优先、广度优先。使用了多种随机搜索策略来跳过循环,执行更多的代码。本文将提出一种启发式的导向符号执行技术,可以更有效的到达指定的终点,也就是我们需要检测的内存分配的代码。
首先我们将静态分析所得到的路径相关的函数和基本块信息放到Paths[funcs,bbs]中,所有要分析的目标指令存放到allocCallInst的Vector中,states中存放当前所有的路径状态。当符号执行引擎对目标程序进行执行分析,主要通过一个循环对程序中的指令进行逐条解释执行(5-30行)。首先通过selectState(31-40行)算法选择权值最大的路径(在我们的符号执行中用state表示路径)优先执行,selectState算法将在后面进行详细介绍。在符号执行的过程中,如果碰到退出或者发生错误将产生相应的测试用例并退出该路径(8-11行)。如果遇到函数调用指令,则判断是否是我们需要检测的目标指令,如果是则将进行检测,输出到达目标指令的路径并生成相应的测试输入(13-17行);当执行到分支指令时,我们将对分支跳转的基本块进行判断,在符号求解之后检查可跳转的基本块是否在静态分析的相关路径的基本块中(21-26行)。如果是则加入要执行的路径状态(22,25行),如果不是则不加入。从而实现路径相关的选择。对于符号执行过程中如何优先选择权值更大的基本块进行执行则在selectState(31-40行)中完成,即在每次路径选择时,通过对当前所有的状态进行遍历,依据静态分析的结果来选择当前权值最大的基本块作为下一个执行的路径。
整数敏感的符号执行:为了进一步扩展和优化符号执行,提出了整数敏感的符号执行优化技术;一方面,除了外部的输入数据直接影响内存分配的关键因素,我们还发现外部输入数据的属性也可能影响内存分配的大小。而在传统的符号执行中没有将这些因素考虑。通过直接添加约束来实现针对输入数据属性的符号化技术。另一方面,由于原始的klee在处理整数转换(atoi)的时候,由于直接调用了uclibc中的实现,如果转换的字符串是符号化数据,将会在调用atoi的时候产生新的路径,从而加剧不必要的路径增长。据我们实验统计,调用atoi转换一个字符的时候将产生7条路径,转换两个字符时将产生25条路径。为降低这种转换所带来的路径增长,实现了atoi直接符号转换算法,根据符号化数据的长度直接转换为相应的整数表达式,通过实验,该方法针对多个处理整数的程序大大降低了路径的数据,同时达到了相同的代码覆盖率。除了atoi函数以外,还对atol,strtol,strtoul等类似函数进行了处理。
虽然参考优选实施例对本发明进行描述,但以上所述实例并不构成本发明保护范围的限定,任何在本发明的精神及原则内的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围内。
Claims (5)
1.一种基于静态路径分析的导向符号执行方法,其特征在于,包括以下步骤:
步骤一、首先通过静态分析确定检测的目标,找到目标程序中内存分配相关的代码或指令;
步骤二、获取从程序起始点到指定代码点的路径相关函数和基本块,并依据路径可达性和距离对这些函数和基本块进行权值计算,形成一个基于代码基本块的加权源-目标有向图;
步骤三、函数和基本块路径的权值确定后,通过符号执行寻找实际可达路径,优先选择权值大的静态分析可达路径进行遍历,减少路径探测引发的组合爆炸;
步骤四、静态路径分析:首先分析指定的起点和终点之间路径可达性关系,然后获取可达路径相关的函数和基本块信息,最后利用函数、基本块之间的可达性和路径距离进行权值设定;
步骤五、导向符号执行:将静态路径分析所得到的路径相关的函数和基本块信息放到Paths[funcs,bbs]中,所有要分析的目标指令存放到allocCallInst的Vector中,states中存放当前所有的路径状态,当符号执行引擎对目标程序进行执行分析,通过循环对程序中的指令进行逐条解释执行。
2.如权利要求1所述的一种基于静态路径分析的导向符号执行方法,其特征在于,其中逐条解释执行采用以下方法:首先通过选择路径算法选择权值最大的路径优先执行,在符号执行的过程中,如果碰到退出或者发生错误将产生相应的测试用例并退出该路径,如果遇到函数调用指令,则判断是否是我们需要检测的目标指令,如果是则将进行检测,输出到达目标指令的路径并生成相应的测试输入;当执行到分支指令时,则对分支跳转的基本块进行判断,在符号求解之后检查可跳转的基本块是否在静态分析的相关路径的基本块中,如果是则加入要执行的路径状态,如果不是则不加入,从而实现路径相关的选择。
3.如权利要求2所述的一种基于静态路径分析的导向符号执行方法,其特征在于,其中选择路径算法为在每次路径选择时,通过对当前所有的状态进行遍历,依据静态分析的结果来选择当前权值最大的基本块作为下一个执行的路径。
4.如权利要求1或2或3所述的一种基于静态路径分析的导向符号执行方法,其特征在于,其中导向符号执行中还包括整数敏感的符号执行。
5.如权利要求1或2或3所述的一种基于静态路径分析的导向符号执行方法,其特征在于,其中步骤四中静态路径分析具体包括以下步骤:
(1)首先确定路径分析的起点和终点:main函数入口为起点,终点由用户指定,通过目标代码的位置,找到相应指令和函数位置;
(2)通过函数调用关系图分析,获取从程序入口到达目标函数的路径,以函数名称和调用指令所在基本块作为路径节点;
(3)在上述分析得到的路径基础上,在函数内以基本块为单位进行路径分析,获取从函数入口基本块到调用指令所在基本块函数内路径;
(4)根据后面启发式符号执行所需要的信息,建立可达路径节点集合和不可达路径节点集合;集合中的节点由函数和基本块组成,可达路径集合包括前面所获取的路径上的所有节点,而不可达节点目前仅包含在前面获取的路径上的函数内,但不属于可达路径集合的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410738073.0A CN104503901B (zh) | 2014-12-04 | 2014-12-04 | 一种基于静态路径分析的导向符号执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410738073.0A CN104503901B (zh) | 2014-12-04 | 2014-12-04 | 一种基于静态路径分析的导向符号执行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104503901A true CN104503901A (zh) | 2015-04-08 |
CN104503901B CN104503901B (zh) | 2017-08-25 |
Family
ID=52945300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410738073.0A Active CN104503901B (zh) | 2014-12-04 | 2014-12-04 | 一种基于静态路径分析的导向符号执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503901B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155898A (zh) * | 2015-04-16 | 2016-11-23 | 北京搜狗科技发展有限公司 | 一种流程图的路径获取方法及装置 |
CN107808097A (zh) * | 2016-09-09 | 2018-03-16 | 安提特软件有限责任公司 | JavaScript 路径枚举 |
CN108563580A (zh) * | 2017-12-27 | 2018-09-21 | 贵阳忆芯科技有限公司 | 介质接口控制器微码执行路径提取方法 |
CN108681672A (zh) * | 2018-05-09 | 2018-10-19 | 西安电子科技大学 | 一种基于A-Star的引导型符号执行方法及系统、Android应用程序 |
CN109376535A (zh) * | 2018-08-14 | 2019-02-22 | 中国信息安全测评中心 | 一种基于智能化符号执行的漏洞分析方法及系统 |
CN110457208A (zh) * | 2019-07-16 | 2019-11-15 | 百度在线网络技术(北京)有限公司 | 符号执行的引导方法、装置、设备及计算机可读存储介质 |
CN112800423A (zh) * | 2021-01-26 | 2021-05-14 | 北京航空航天大学 | 一种二进制代码授权漏洞检测方法 |
CN113378366A (zh) * | 2021-06-03 | 2021-09-10 | 北京建筑大学 | 一种综合客运枢纽导向标识导向信息布设方法 |
CN113535523A (zh) * | 2021-07-30 | 2021-10-22 | 北京中科天齐信息技术有限公司 | 一种目标程序缺陷报告筛选方法及装置 |
CN113592166A (zh) * | 2018-08-27 | 2021-11-02 | 北京百度网讯科技有限公司 | 用于图检索的方法、设备、存储介质和程序产品 |
CN113961475A (zh) * | 2021-12-22 | 2022-01-21 | 清华大学 | 基于规约导向的错误处理缺陷的检测方法及系统 |
CN114238154A (zh) * | 2022-02-24 | 2022-03-25 | 湖南泛联新安信息科技有限公司 | 一种符号执行方法、单元测试方法、电子设备及存储介质 |
CN115237748A (zh) * | 2022-06-01 | 2022-10-25 | 北京邮电大学 | 基于反馈增量驱动的符号执行方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107409A1 (en) * | 2002-12-03 | 2004-06-03 | Melham Thomas F. | Automatic symbolic indexing methods for formal verification on a symbolic lattice domain |
CN101714119A (zh) * | 2009-12-09 | 2010-05-26 | 北京邮电大学 | 基于二进制程序的测试数据生成器和方法 |
CN102222035A (zh) * | 2011-07-25 | 2011-10-19 | 公安部第三研究所 | 基于符号执行技术的软件行为检测系统及检测方法 |
-
2014
- 2014-12-04 CN CN201410738073.0A patent/CN104503901B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107409A1 (en) * | 2002-12-03 | 2004-06-03 | Melham Thomas F. | Automatic symbolic indexing methods for formal verification on a symbolic lattice domain |
CN101714119A (zh) * | 2009-12-09 | 2010-05-26 | 北京邮电大学 | 基于二进制程序的测试数据生成器和方法 |
CN102222035A (zh) * | 2011-07-25 | 2011-10-19 | 公安部第三研究所 | 基于符号执行技术的软件行为检测系统及检测方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155898A (zh) * | 2015-04-16 | 2016-11-23 | 北京搜狗科技发展有限公司 | 一种流程图的路径获取方法及装置 |
CN106155898B (zh) * | 2015-04-16 | 2020-09-01 | 北京搜狗科技发展有限公司 | 一种流程图的路径获取方法及装置 |
CN107808097A (zh) * | 2016-09-09 | 2018-03-16 | 安提特软件有限责任公司 | JavaScript 路径枚举 |
CN108563580A (zh) * | 2017-12-27 | 2018-09-21 | 贵阳忆芯科技有限公司 | 介质接口控制器微码执行路径提取方法 |
CN108563580B (zh) * | 2017-12-27 | 2024-02-23 | 贵阳忆芯科技有限公司 | 介质接口控制器微码执行路径提取方法 |
CN108681672A (zh) * | 2018-05-09 | 2018-10-19 | 西安电子科技大学 | 一种基于A-Star的引导型符号执行方法及系统、Android应用程序 |
CN109376535A (zh) * | 2018-08-14 | 2019-02-22 | 中国信息安全测评中心 | 一种基于智能化符号执行的漏洞分析方法及系统 |
CN109376535B (zh) * | 2018-08-14 | 2022-03-04 | 中国信息安全测评中心 | 一种基于智能化符号执行的漏洞分析方法及系统 |
CN113592166A (zh) * | 2018-08-27 | 2021-11-02 | 北京百度网讯科技有限公司 | 用于图检索的方法、设备、存储介质和程序产品 |
CN113592166B (zh) * | 2018-08-27 | 2023-12-19 | 北京百度网讯科技有限公司 | 用于图检索的方法、设备、存储介质和程序产品 |
CN110457208A (zh) * | 2019-07-16 | 2019-11-15 | 百度在线网络技术(北京)有限公司 | 符号执行的引导方法、装置、设备及计算机可读存储介质 |
CN110457208B (zh) * | 2019-07-16 | 2023-01-06 | 百度在线网络技术(北京)有限公司 | 符号执行的引导方法、装置、设备及计算机可读存储介质 |
CN112800423A (zh) * | 2021-01-26 | 2021-05-14 | 北京航空航天大学 | 一种二进制代码授权漏洞检测方法 |
CN113378366B (zh) * | 2021-06-03 | 2023-08-18 | 北京建筑大学 | 一种综合客运枢纽导向标识导向信息布设方法 |
CN113378366A (zh) * | 2021-06-03 | 2021-09-10 | 北京建筑大学 | 一种综合客运枢纽导向标识导向信息布设方法 |
CN113535523A (zh) * | 2021-07-30 | 2021-10-22 | 北京中科天齐信息技术有限公司 | 一种目标程序缺陷报告筛选方法及装置 |
CN113961475A (zh) * | 2021-12-22 | 2022-01-21 | 清华大学 | 基于规约导向的错误处理缺陷的检测方法及系统 |
CN113961475B (zh) * | 2021-12-22 | 2022-04-15 | 清华大学 | 基于规约导向的错误处理缺陷的检测方法及系统 |
CN114238154A (zh) * | 2022-02-24 | 2022-03-25 | 湖南泛联新安信息科技有限公司 | 一种符号执行方法、单元测试方法、电子设备及存储介质 |
CN114238154B (zh) * | 2022-02-24 | 2022-05-06 | 湖南泛联新安信息科技有限公司 | 一种符号执行方法、单元测试方法、电子设备及存储介质 |
CN115237748A (zh) * | 2022-06-01 | 2022-10-25 | 北京邮电大学 | 基于反馈增量驱动的符号执行方法 |
CN115237748B (zh) * | 2022-06-01 | 2023-07-04 | 北京邮电大学 | 基于反馈增量驱动的符号执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104503901B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503901A (zh) | 一种基于静态路径分析的导向符号执行方法 | |
CN103116540B (zh) | 基于全局超级块支配图的动态符号执行方法 | |
US8108826B2 (en) | Code-coverage guided prioritized test generation | |
Delgado et al. | Efficient solutions to factored MDPs with imprecise transition probabilities | |
CN104598383A (zh) | 一种基于模式的动态漏洞挖掘集成系统和方法 | |
CN104794057B (zh) | 一种交叉事件自动化测试方法和装置 | |
CN104008053B (zh) | 一种用于漏洞发掘的动态符号执行路径搜索方法 | |
Yu et al. | A multi-modal route planning approach with an improved genetic algorithm | |
CN102915271A (zh) | 基于控制流图的单元回归测试用例集合优化方法 | |
Zhonglin et al. | An improved method of acquiring basis path for software testing | |
Sayyari et al. | Automated generation of software testing path based on ant colony | |
CN104462657B (zh) | 基于Petri网复杂系统多设计方案的选择方法 | |
CN108021507A (zh) | 符号执行的并行路径搜索方法及装置 | |
CN107679402A (zh) | 恶意代码行为特征提取方法 | |
CN105701016A (zh) | 一种针对异常处理代码的测试方法 | |
CN110889530A (zh) | 基于递归神经网络的目的地预测方法及服务器 | |
CN109388557A (zh) | 一种控件遍历方法、计算机可读存储介质及终端设备 | |
CN105224455B (zh) | 一种自动生成字符串类型测试用例的方法 | |
CN105117336A (zh) | 一种动态标记处理控制依赖的方法 | |
CN115906092A (zh) | 一种跨合约检测智能合约漏洞的符号执行方法 | |
CN103309805A (zh) | xUnit框架下面向对象软件中测试目标的自动化选择方法 | |
CN108875914A (zh) | 对神经网络数据进行预处理和后处理的方法和装置 | |
CN105487983A (zh) | 基于智能路径引导的敏感点逼近方法 | |
Agarwal et al. | Code coverage using intelligent water drop (IWD) | |
Jiang et al. | Test data generation approach for basis path coverage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |