[发明专利]一种基于图计算的代码分析的方法和装置在审

专利信息
申请号: 202110145882.0 申请日: 2021-02-03
公开(公告)号: CN112800425A 公开(公告)日: 2021-05-14
发明(设计)人: 左志强;张奕裕;王林章;李宣东 申请(专利权)人: 南京大学
主分类号: G06F21/56 分类号: G06F21/56;G06F9/54
代理公司: 江苏银创律师事务所 32242 代理人: 孙计良
地址: 210001 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 计算 代码 分析 方法 装置
【权利要求书】:

1.一种基于图计算的代码分析的方法,其特征在于,该方法包括如下步骤:

S1:获取待分析的程序代码;

S2:将待分析的程序代码转换成全局控制流图;转换成全局控制流图时,将其中的函数调用节点以其被调用函数的控制流图自上而下地展开,使得全局控制流图中不包含函数调用的节点;同时提取全局控制流图每个节点所对应的代码语句所包含的数据流向信息,使得全局控制流图的每个节点包含其对应的数据流向信息;

S3:将全局控制流图划分成若干个子控制流图作为分区,并初始化分区的待分析节点集;

S4:以分区作为同步单元的整体同步并行计算的方式和迭代的方式,基于用户所实现分析的接口,对各个分区进行分析,直到各个分区的待分析节点集均被清空;

对分区进行分析包括如下步骤:

S421:基于用户所实现分析的接口,对目标分区的待分析节点集中的节点和节点所对应的数据流向信息进行迭代分析直到节点所对应的输出数据流信息不再变化时从目标分区中删除相应的节点直到待分析节点集无节点,从而得到目标分区中各个节点所对应的输出数据流信息;输出数据流信息是数据流向信息,通过以节点和节点的数据流向信息作为参数调用用户所实现的分析接口所得到;目标分区是对分区进行分析中的分区;

S422:根据全局控制流图的节点之间的边关系,将该目标分区输出节点以及该输出节点的输出数据流信息并入至该输出节点所对应的后续分区的消息队列中;输出节点是目标分区中后续节点为其他分区节点的节点;

S423:对目标分区各节点所对应的数据流向信息进行去重处理。

2.如权利要求1的基于图计算的代码分析的方法,其特征在于,步骤S421和步骤S422作为整体采用整体同步并行计算的方式进行处理。

3.如权利要求1的基于图计算的代码分析的方法,其特征在于,步骤S3中,将全局控制流图划分成若干个分区采用节点数均衡原则划分成K个分区,其中K为预先设定的分区数。

4.如权利要求1的基于图计算的代码分析的方法,其特征在于,步骤S3中,还包括为跨分区的边在边所处的分区的两侧分别为对应的分区创建相应的镜像输入节点和镜像输出节点并标记;步骤S422中,以镜像输出节点作为输出节点。

5.如权利要求1的基于图计算的代码分析的方法,其特征在于,步骤S423包括如下步骤:

S4231:为目标分区的每个节点的数据流向信息构建项目集;

S4232:找出项目集在目标分区中至少出现T次的项目集作为高频项目集;

S4233:计算每个高频项目集的优先值;优先值为其项目数及其频次的乘积;

S4234:检查目标分区的各个节点的数据流向信息是否包含高频项目集;若将该节点数据流向信息仅包含某个高频项目集,则将该节点的数据流向信息中的高频项目集部分替换为该高频项目集的引用;若该节点数据流向信息包含若干个高频项目集,则将这些高频项目集作为候选高频项目集,采用贪心算法以候选高频项目集的优先值降级次序,将该节点的数据流向信息中的相应的高频项目集部分替换为相应高频项目集的引用;

其中T为预先设定。

6.如权利要求5的基于图计算的代码分析的方法,其特征在于,步骤S4231替换为:为全局控制流图的各个节点的数据流向信息构建项目集;步骤S4232替换为:找出项目集在全局控制流图中至少出现T次的项目集作为高频项目集。

7.如权利要求1至 6任一项的基于图计算的代码分析的方法,其特征在于,步骤S4还包括如下步骤:

S41:调取同步分区集;同步分区集是整体同步并行计算所需的分区集合;

S42:基于用户所实现分析的接口,以分区作为同步单元的整体同步并行计算的方式对同步分区集中的各个分区进行分析;

S43:将各个分区的消息队列中的节点和节点所对应的输出数据流信息并入其对应的分区;

S44:重复执行步骤S41至S44直到各个分区的待分析节点集均被清空。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110145882.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top