[发明专利]一种分段式符号执行方法有效
申请号: | 201810819763.7 | 申请日: | 2018-07-24 |
公开(公告)号: | CN109002723B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 胡昌振;马锐;窦伯文;王龙;高浩然 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高燕燕 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 段式 符号 执行 方法 | ||
1.一种分段式符号执行方法,其特征在于,首先从程序中提取出控制流图,其节点是程序基本块,有向边是基本块之间的跳转,然后通过聚类方法将程序控制流图划分为多个控制流子图,进而对各程序段进行独立符号执行,最后将各个程序段的符号执行结果进行合并,完成对整个程序的分析;其中,通过聚类方法将程序控制流图划分为多个控制流子图,具体采用以下划分方式:
步骤一、根据聚类算法选出控制流图中的边;
步骤二、删除控制流图中由步骤一选出的边;
步骤三、计算控制流图的模块度,如果模块度得到提升,则更新控制流图,否则返回步骤一;
步骤四、控制流图划分完毕,得到划分后的子图即为程序分段的结果。
2.如权利要求1所述的一种分段式符号执行方法,其特征在于,对所述控制流图中的各个节点设置权值,所述控制流图中节点表示控制流图中的单个基本块,将每个基本块中的指令数量作为该节点的权值,表示该基本块的大小。
3.如权利要求1或2所述的一种分段式符号执行方法,其特征在于,所述的各程序段独立符号执行具体采用以下方式:
(1)确定每个程序段内的起始节点与终止节点;
(2)补全缺失的基本块间的跳转信息;
(3)遍历每个程序段,并选择相应的分析策略;
(4)根据采用的相应分析策略进行分析。
4.如权利要求1或2所述的一种分段式符号执行方法,其特征在于,所述合并包括状态数据合并以及约束条件合并,对所有相连的程序段的状态数据和约束条件合并完成后,得到整个程序符号执行的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810819763.7/1.html,转载请声明来源钻瓜专利网。