[发明专利]面向C程序缺陷检测的靶向式并行符号执行方法有效
申请号: | 201910428120.4 | 申请日: | 2019-05-22 |
公开(公告)号: | CN110221973B | 公开(公告)日: | 2022-12-16 |
发明(设计)人: | 张俊贤;赵曦 | 申请(专利权)人: | 湖南泛联新安信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 长沙科明知识产权代理事务所(普通合伙) 43203 | 代理人: | 吴兰秀 |
地址: | 410005 湖南省长沙市开福区伍家岭街道*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种面向C程序缺陷检测的靶向式并行符号执行方法,其包括分布式计算系统,所述分布式计算系统包括一个主控节点和多个计算节点,所述主控节点任务预处理和任务分派包括以下步骤:步骤S1、源代码编译到中间代码;步骤S2、静态分析出疑似漏洞点;步骤S3、建立程序依赖图;步骤S4、图算法遍历程序依赖图G;步骤S5、将子图置入队列;步骤S6、记录计算节点的状态;步骤S7、初始化计算节点;步骤S8、中间代码的分配;步骤S9、遍历队列ListTask;步骤S10、各计算节点开始计算任务;步骤S11、更新元组NS;步骤S12、主控节点通知各计算节点结束,收取并汇总各计算节点所提交的处理结果。本发明实现了对源代码缺陷分析目标的快速精准定位和验证。 | ||
搜索关键词: | 面向 程序 缺陷 检测 靶向 并行 符号 执行 方法 | ||
【主权项】:
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、结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南泛联新安信息科技有限公司,未经湖南泛联新安信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910428120.4/,转载请声明来源钻瓜专利网。