CN110221973A - 面向c程序缺陷检测的靶向式并行符号执行方法 - Google Patents
面向c程序缺陷检测的靶向式并行符号执行方法 Download PDFInfo
- Publication number
- CN110221973A CN110221973A CN201910428120.4A CN201910428120A CN110221973A CN 110221973 A CN110221973 A CN 110221973A CN 201910428120 A CN201910428120 A CN 201910428120A CN 110221973 A CN110221973 A CN 110221973A
- Authority
- CN
- China
- Prior art keywords
- node
- main controlled
- calculate node
- controlled node
- task
- 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
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/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime 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)
- Software Systems (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种面向C程序缺陷检测的靶向式并行符号执行方法,其包括分布式计算系统,所述分布式计算系统包括一个主控节点和多个计算节点,所述主控节点任务预处理和任务分派包括以下步骤:步骤S1、源代码编译到中间代码;步骤S2、静态分析出疑似漏洞点;步骤S3、建立程序依赖图;步骤S4、图算法遍历程序依赖图G;步骤S5、将子图置入队列;步骤S6、记录计算节点的状态;步骤S7、初始化计算节点;步骤S8、中间代码的分配;步骤S9、遍历队列ListTask;步骤S10、各计算节点开始计算任务;步骤S11、更新元组NS;步骤S12、主控节点通知各计算节点结束,收取并汇总各计算节点所提交的处理结果。本发明实现了对源代码缺陷分析目标的快速精准定位和验证。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种面向C程序缺陷检测的靶向式并行符号执行方法。
背景技术
符号执行是一种精确度较高的程序分析技术。该技术使用符号化输入代替实际输入来模拟执行目标程序,使用符号表达式刻画执行路径上程序指令的语义。在遇到条件语句时,分支条件被加入到当前路径的路径条件中,通过调用SMT求解器对路径条件的可满足性进行求解来判断路径是否实际可行,通过对路径条件约束子集变异后得到的新约束集合,通过使用SMT求解器对新约束集合求解,循环以上过程以穷举分析目标程序的路径空间。计算资源开销过大和路径空间爆炸问题导致符号执行技术难以高效分析大规模代码,是该技术目前存在的主要问题。
发明内容
针对现有技术的不足,本发明提供一种面向C程序缺陷检测的靶向式并行符号执行方法,有机结合静态分析“快”和符号执行“准”的优点,在利用静态分析的优势保证高效率的同时,利用符号执行的精度优势,实现对源代码缺陷分析目标的快速精准定位和验证。
本发明解决其技术问题所采用的技术方案是:
所述面向C程序缺陷检测的靶向式并行符号执行方法包括分布式计算系统,所述分布式计算系统包括一个主控节点和多个计算节点,所述主控节点负责任务的预处理和任务的分派,所述计算节点负责任务处理;
所述主控节点任务预处理和任务分派包括以下步骤:
步骤S1、源代码编译到中间代码:主控节点利用C代码编译前端将源代码编译到中间代码;
步骤S2、静态分析出疑似漏洞点:主控节点对源代码做静态分析,给出疑似漏洞点p1,p2,…pn,各漏洞点分别对应中间代码中的一条指令;
步骤S3、建立程序依赖图:主控节点分析中间代码,依次建立程序依赖图G<Entry>,其中Entry为程序依赖图G的入口;
步骤S4、图算法遍历程序依赖图G:主控节点使用图算法遍历程序依赖图G,分别针对p1,p2,…pn,得到子图G1、G2、…Gn,对于Gi,i∈[1,2,3…,n],入口为Entry,出口为pi;
步骤S5、将子图置入队列:主控节点将子图G1、G2、…Gn置入队列ListTask;
步骤S6、记录计算节点的状态:主控节点使用状态向量StateVecter记录各计算节点的状态,状态向量StateVecter的每个单元为一个元组NS<ID,IP,PORT,IdleCoreNumber,WORKSTATE>;
步骤S7、初始化计算节点:分布式计算系统启动时,主控节点进入初始状态,完成步骤S1~S5后,根据预先设定的计算节点相关信息,分别为每个计算节点i设置对应的元组NSi进行初始化,并进入等待状态,接收各计算节点的注册请求;
步骤S8、中间代码的分配:各计算节点向主控节点注册,提交其ID、IP地址、端口PORT、空闲CPU核心数IdleCoreNumber,主控节点填充状态向量StateVecter中相应信息,并将编译后的中间代码分发至各计算节点;
步骤S9、遍历队列ListTask:主控节点遍历队列ListTask,取出第一个子图G0,遍历状态向量StateVecter各元素Statei(i∈[1,2,3…,n]),对于Statei,若其IdleCoreNumber>0,则将G0分配给Statei标识的计算节点;若ListTask为空,且状态向量StateVecter中各State的WORKSTATE均为IDLE,表示全部任务处理完毕,执行步骤S12;
步骤S10、各计算节点开始计算任务;
步骤S11、更新元组NS:计算节点i处理计算任务结束后,向主控节点发起通知,主控节点收到通知后,将状态向量StateVecter中该节点对应状态的元组NS更新,设置IdleCoreNumber+1,执行步骤S9;
步骤S12、主控节点通知各计算节点结束,收取并汇总各计算节点所提交的处理结果;
步骤S13、结束。
在本发明提供的面向C程序缺陷检测的靶向式并行符号执行方法的一种较佳实施例中,所述步骤S10中,计算节点计算任务的处理过程具体包括以下步骤:
步骤S101、将中间代码逐一放至FIFO队列InstructionList,当遇到分支指令时,分支指令入队,执行步骤102;
步骤S102、Taski利用动态符号执行引擎E从队列InstructionList中取出第一条指令I:
a、若预先给定时间等指标达到阈值,或队列InstructionList为空,执行步骤S105,否则执行步骤S102.b;
b、若当前指令I为靶标指令pi,则符号化执行pi,并执行步骤103,否则执行步骤S102.c;
c、对于当前指令I,若I Gi,则略过I,执行步骤S102.a,否则执行步骤S102.d;
d、若指令I不是分支指令,则符号化执行指令I,执行步骤S102,否则转至步骤S102.e;
e、对于分支指令,将左右分支跳转目标指令放至InstructionList队尾,执行步骤S102.a;
步骤S103、在靶标指令pi处根据其对应的符号状态检验程序安全约束,若安全约束被破坏,执行步骤S104,否则转至步骤S105;
步骤S104、利用SMT求解器对路径约束进行求解,若求解成功,则求解结果即为验证缺陷的执行用例;
步骤S105、通知主控节点计算任务处理完毕,及任务处理结果;
步骤S106、结束。
在本发明提供的面向C程序缺陷检测的靶向式并行符号执行方法的一种较佳实施例中,所述步骤S3具体为:主控节点分析中间代码,依次建立其分析过程间的控制依赖图、数据依赖图,合并建立程序依赖图G<Entry>,其中Entry为程序依赖图G的入口。
在本发明提供的面向C程序缺陷检测的靶向式并行符号执行方法的一种较佳实施例中,所述步骤S6中的所述元组NS<ID,IP,PORT,IdleCoreNumber,WORKSTATE>分别表示:ID、IP地址,端口PORT,空闲CPU核心数IdleCoreNumber,WORKSTATE表示该节点工作状态是否空闲,取值为BUSY/IDLE。
与现有技术相比,本发明提供的面向C程序缺陷检测的靶向式并行符号执行方法的有益效果是:本发明利用静态分析手段获取疑似目标缺陷点和相关信息,建立分析靶标;分析目标源代码的数据依赖和控制依赖关系,建立程序依赖图,以各分析靶标为目标,从程序依赖图中分别抽取各靶标对应的依赖关系子图;利用以上信息,在符号执行过程中,指导路径选择算法,使符号执行引擎遍历各个子图的路径空间,并在靶标指令处检验程序安全约束,产生验证缺陷的执行用例,通过在每条路径的可疑位置添加性质约束,并使用SMT求解器对约束表达式进行求解,推断在该位置是否存在可能的程序缺陷。有机结合静态分析“快”和符号执行“准”的优点,在利用静态分析的优势保证高效率的同时,利用符号执行的精度优势,实现对源代码缺陷分析目标的快速精准定位和验证。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1是本发明提供的面向C程序缺陷检测的靶向式并行符号执行方法的所述主控节点任务预处理和任务分派的流程图;
图2是本发明提供的面向C程序缺陷检测的靶向式并行符号执行方法的所述计算节点计算任务的处理流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,所述面向C程序缺陷检测的靶向式并行符号执行方法包括分布式计算系统,所述分布式计算系统包括一个主控节点和多个计算节点,所述主控节点负责任务的预处理和任务的分派,所述计算节点负责任务处理;
所述主控节点任务预处理和任务分派包括以下步骤:
步骤S1、源代码编译到中间代码:主控节点利用C代码编译前端将源代码编译到中间代码;
步骤S2、静态分析出疑似漏洞点:主控节点对源代码做静态分析,给出疑似漏洞点p1,p2,…pn,各漏洞点分别对应中间代码中的一条指令;
步骤S3、建立程序依赖图:主控节点分析中间代码,依次建立其分析过程间的控制依赖图、数据依赖图,合并建立程序依赖图G<Entry>,其中Entry为程序依赖图G的入口;
步骤S4、图算法遍历程序依赖图G:主控节点使用图算法遍历程序依赖图G,分别针对p1,p2,…pn,得到子图G1、G2、…Gn,对于Gi,i∈[1,2,3…,n],入口为Entry,出口为pi;
步骤S5、将子图置入队列:主控节点将子图G1、G2、…Gn置入队列ListTask;
步骤S6、记录计算节点的状态:主控节点使用状态向量StateVecter记录各计算节点的状态,状态向量StateVecter的每个单元为一个元组NS<ID,IP,PORT,IdleCoreNumber,WORKSTATE>,分别表示:ID、IP地址,端口PORT,空闲CPU核心数IdleCoreNumber,WORKSTATE表示该节点工作状态是否空闲,取值为BUSY/IDLE;
步骤S7、初始化计算节点:分布式计算系统启动时,主控节点进入初始状态,完成步骤S1~S5后,根据预先设定的计算节点相关信息,分别为每个计算节点i设置对应的元组NSi进行初始化,并进入等待状态,接收各计算节点的注册请求;
步骤S8、中间代码的分配:各计算节点向主控节点注册,提交其ID、IP地址、端口PORT、空闲CPU核心数IdleCoreNumber,主控节点填充状态向量StateVecter中相应信息,并将编译后的中间代码分发至各计算节点;
步骤S9、遍历队列ListTask:主控节点遍历队列ListTask,取出第一个子图G0,遍历状态向量StateVecter各元素Statei(i∈[1,2,3…,n]),对于Statei,若其IdleCoreNumber>0,则将G0分配给Statei标识的计算节点;若ListTask为空,且状态向量StateVecter中各State的WORKSTATE均为IDLE,表示全部任务处理完毕,执行步骤S12;
步骤S10、各计算节点开始计算任务;
请参阅图2,所述计算节点计算任务的处理过程具体包括以下步骤:
步骤S101、将中间代码逐一放至FIFO队列InstructionList,当遇到分支指令时,分支指令入队,执行步骤102;
步骤S102、Taski利用动态符号执行引擎E从队列InstructionList中取出第一条指令I:
a、若预先给定时间等指标达到阈值,或队列InstructionList为空,执行步骤S105,否则执行步骤S102.b;
b、若当前指令I为靶标指令pi,则符号化执行pi,并执行步骤103,否则执行步骤S102.c;
c、对于当前指令I,若I Gi,则略过I,执行步骤S102.a,否则执行步骤S102.d;
d、若指令I不是分支指令,则符号化执行指令I,执行步骤S102,否则转至步骤S102.e;
e、对于分支指令,将左右分支跳转目标指令放至InstructionList队尾,执行步骤S102.a;
步骤S103、在靶标指令pi处根据其对应的符号状态检验程序安全约束,若安全约束被破坏,执行步骤S104,否则转至步骤S105;
步骤S104、利用SMT求解器对路径约束进行求解,若求解成功,则求解结果即为验证缺陷的执行用例;
步骤S105、通知主控节点计算任务处理完毕,及任务处理结果;
步骤S106、结束。
步骤S11、更新元组NS:计算节点i处理计算任务结束后,向主控节点发起通知,主控节点收到通知后,将状态向量StateVecter中该节点对应状态的元组NS更新,设置IdleCoreNumber+1,执行步骤S9;
步骤S12、主控节点通知各计算节点结束,收取并汇总各计算节点所提交的处理结果;
步骤S13、结束。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (4)
1.一种面向C程序缺陷检测的靶向式并行符号执行方法,其特征在于:包括分布式计算系统,所述分布式计算系统包括一个主控节点和多个计算节点,所述主控节点负责任务的预处理和任务的分派,所述计算节点负责任务处理;
所述主控节点任务预处理和任务分派包括以下步骤:
步骤S1、源代码编译到中间代码:主控节点利用C代码编译前端将源代码编译到中间代码;
步骤S2、静态分析出疑似漏洞点:主控节点对源代码做静态分析,给出疑似漏洞点p1,p2,…pn,各漏洞点分别对应中间代码中的一条指令;
步骤S3、建立程序依赖图:主控节点分析中间代码,依次建立程序依赖图G<Entry>,其中Entry为程序依赖图G的入口;
步骤S4、图算法遍历程序依赖图G:主控节点使用图算法遍历程序依赖图G,分别针对p1,p2,…pn,得到子图G1、G2、…Gn,对于Gi,i∈[1,2,3…,n],入口为Entry,出口为pi;
步骤S5、将子图置入队列:主控节点将子图G1、G2、…Gn置入队列ListTask;
步骤S6、记录计算节点的状态:主控节点使用状态向量StateVecter记录各计算节点的状态,状态向量StateVecter的每个单元为一个元组NS<ID,IP,PORT,IdleCoreNumber,WORKSTATE>;
步骤S7、初始化计算节点:分布式计算系统启动时,主控节点进入初始状态,完成步骤S1~S5后,根据预先设定的计算节点相关信息,分别为每个计算节点i设置对应的元组NSi进行初始化,并进入等待状态,接收各计算节点的注册请求;
步骤S8、中间代码的分配:各计算节点向主控节点注册,提交其ID、IP地址、端口PORT、空闲CPU核心数IdleCoreNumber,主控节点填充状态向量StateVecter中相应信息,并将编译后的中间代码分发至各计算节点;
步骤S9、遍历队列ListTask:主控节点遍历队列ListTask,取出第一个子图G0,遍历状态向量StateVecter各元素Statei(i∈[1,2,3…,n]),对于Statei,若其IdleCoreNumber>0,则将G0分配给Statei标识的计算节点;若ListTask为空,且状态向量StateVecter中各State的WORKSTATE均为IDLE,表示全部任务处理完毕,执行步骤S12;
步骤S10、各计算节点开始计算任务;
步骤S11、更新元组NS:计算节点i处理计算任务结束后,向主控节点发起通知,主控节点收到通知后,将状态向量StateVecter中该节点对应状态的元组NS更新,设置IdleCoreNumber+1,执行步骤S9;
步骤S12、主控节点通知各计算节点结束,收取并汇总各计算节点所提交的处理结果;
步骤S13、结束。
2.根据权利要求1所述的面向C程序缺陷检测的靶向式并行符号执行方法,其特征在于:所述步骤S10中,计算节点计算任务的处理过程具体包括以下步骤:
步骤S101、将中间代码逐一放至FIFO队列InstructionList,当遇到分支指令时,分支指令入队,执行步骤102;
步骤S102、Taski利用动态符号执行引擎E从队列InstructionList中取出第一条指令I:
a、若预先给定时间等指标达到阈值,或队列InstructionList为空,执行步骤S105,否则执行步骤S102.b;
b、若当前指令I为靶标指令pi,则符号化执行pi,并执行步骤103,否则执行步骤S102.c;
c、对于当前指令I,若I Gi,则略过I,执行步骤S102.a,否则执行步骤S102.d;
d、若指令I不是分支指令,则符号化执行指令I,执行步骤S102,否则转至步骤S102.e;
e、对于分支指令,将左右分支跳转目标指令放至InstructionList队尾,执行步骤S102.a;
步骤S103、在靶标指令pi处根据其对应的符号状态检验程序安全约束,若安全约束被破坏,执行步骤S104,否则转至步骤S105;
步骤S104、利用SMT求解器对路径约束进行求解,若求解成功,则求解结果即为验证缺陷的执行用例;
步骤S105、通知主控节点计算任务处理完毕,及任务处理结果;
步骤S106、结束。
3.根据权利要求1所述的面向C程序缺陷检测的靶向式并行符号执行方法,其特征在于:所述步骤S3具体为:主控节点分析中间代码,依次建立其分析过程间的控制依赖图、数据依赖图,合并建立程序依赖图G<Entry>,其中Entry为程序依赖图G的入口。
4.根据权利要求1所述的面向C程序缺陷检测的靶向式并行符号执行方法,其特征在于:所述步骤S6中的所述元组NS<ID,IP,PORT,IdleCoreNumber,WORKSTATE>分别表示:ID、IP地址,端口PORT,空闲CPU核心数IdleCoreNumber,WORKSTATE表示该节点工作状态是否空闲,取值为BUSY/IDLE。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428120.4A CN110221973B (zh) | 2019-05-22 | 2019-05-22 | 面向c程序缺陷检测的靶向式并行符号执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428120.4A CN110221973B (zh) | 2019-05-22 | 2019-05-22 | 面向c程序缺陷检测的靶向式并行符号执行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110221973A true CN110221973A (zh) | 2019-09-10 |
CN110221973B CN110221973B (zh) | 2022-12-16 |
Family
ID=67821612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910428120.4A Active CN110221973B (zh) | 2019-05-22 | 2019-05-22 | 面向c程序缺陷检测的靶向式并行符号执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110221973B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857811A (zh) * | 2020-07-29 | 2020-10-30 | 湖南泛联新安信息科技有限公司 | 一种资源流图的构建方法 |
CN114581221A (zh) * | 2022-05-05 | 2022-06-03 | 支付宝(杭州)信息技术有限公司 | 分布式计算系统以及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008047351A2 (en) * | 2006-10-19 | 2008-04-24 | Checkmarx Ltd. | Locating security vulnerabilities in source code |
CN101937388A (zh) * | 2009-12-17 | 2011-01-05 | 北京测腾信息技术有限公司 | 一种高可扩展性和可维护性的源代码缺陷检测方法及装置 |
CN106354630A (zh) * | 2016-08-23 | 2017-01-25 | 电子科技大学 | 一种基于动态符号执行的软件缺陷检测方法 |
-
2019
- 2019-05-22 CN CN201910428120.4A patent/CN110221973B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008047351A2 (en) * | 2006-10-19 | 2008-04-24 | Checkmarx Ltd. | Locating security vulnerabilities in source code |
CN101937388A (zh) * | 2009-12-17 | 2011-01-05 | 北京测腾信息技术有限公司 | 一种高可扩展性和可维护性的源代码缺陷检测方法及装置 |
CN106354630A (zh) * | 2016-08-23 | 2017-01-25 | 电子科技大学 | 一种基于动态符号执行的软件缺陷检测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857811A (zh) * | 2020-07-29 | 2020-10-30 | 湖南泛联新安信息科技有限公司 | 一种资源流图的构建方法 |
CN111857811B (zh) * | 2020-07-29 | 2023-09-22 | 湖南泛联新安信息科技有限公司 | 一种资源流图的构建方法 |
CN114581221A (zh) * | 2022-05-05 | 2022-06-03 | 支付宝(杭州)信息技术有限公司 | 分布式计算系统以及计算机设备 |
CN114581221B (zh) * | 2022-05-05 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 分布式计算系统以及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110221973B (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Iyer et al. | Performance contracts for software network functions | |
Chatterji et al. | Measuring the efficacy of code clone information in a bug localization task: An empirical study | |
CN108846282A (zh) | 基于静态污点分析的安卓应用程序权限泄露漏洞检测方法 | |
CN103294594B (zh) | 一种基于测试的静态分析误报消除方法 | |
Ngo et al. | Detecting large number of infeasible paths through recognizing their patterns | |
US20120110551A1 (en) | Simulating black box test results using information from white box testing | |
Mazzanti et al. | Towards formal methods diversity in railways: an experience report with seven frameworks | |
Koochakzadeh et al. | A tester-assisted methodology for test redundancy detection | |
Li et al. | Practical symbolic race checking of GPU programs | |
CN110221973A (zh) | 面向c程序缺陷检测的靶向式并行符号执行方法 | |
US20170102943A1 (en) | Compilation and runtime methods for executing algorithmic packet processing programs on multi-table packet forwarding elements | |
Ngah et al. | An overview of regression testing | |
Dailler et al. | Lightweight interactive proving inside an automatic program verifier | |
Rocha et al. | Using acceptance tests to predict files changed by programming tasks | |
CN116720192A (zh) | 一种面向mips架构基于混合分析技术的漏洞检测方法 | |
Pira | Using knowledge discovery to propose a two-phase model checking for safety analysis of graph transformations | |
CN106529304B (zh) | 一种安卓应用并发漏洞检测系统 | |
Said et al. | Reflexion models for state machine extraction and verification | |
CN112506564B (zh) | 一种用于建立控制流图的方法、系统和介质 | |
Suneja et al. | Towards reliable ai for source code understanding | |
CN115617410B (zh) | 驱动接口识别方法、装置、设备及存储介质 | |
CN117331826A (zh) | 一种针对挖掘安全漏洞的混合模糊测试优化方法 | |
Nguyen et al. | Exploring output-based coverage for testing PHP web applications | |
Ribeiro | On the use of control-and data-ow in fault localization | |
Gonzalez-de-Aledo et al. | An approach to static-dynamic software analysis |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |