[发明专利]一种基于值流分析的Golang程序高效过程间逃逸分析方法在审

专利信息
申请号: 202210476822.1 申请日: 2022-04-30
公开(公告)号: CN114780105A 公开(公告)日: 2022-07-22
发明(设计)人: 张迎周;密杰;卢跃 申请(专利权)人: 南京邮电大学
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 南京禹为知识产权代理事务所(特殊普通合伙) 32272 代理人: 马建军
地址: 210003 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 分析 golang 程序 高效 过程 逃逸 方法
【权利要求书】:

1.一种基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:包括,

对Golang程序进行预处理,得到基于静态单赋值形式的中间代码表示,创建过程间函数调用图和过程内控制流图;

将函数调用图做逆拓扑排序,建立待分析函数序列,并对待分析函数进行是否涉及过程间调用判别;

根据判别的不同分别计算目标函数的逃逸变量;

基于函数调用图分析程序内的所有函数的逃逸变量,将所有分析函数的ESC进行合并得到最终的逃逸变量值的集合。

2.如权利要求1所述的基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:在判断待分析函数不涉及过程间调用后,搜集与Golang语言逃逸规则相关的变量。

3.如权利要求2所述的基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:利用逆向数据流分析技术遍历程序控制流图,访问仅与指定变量V(t)相关的语句集合{s|s∈Sl,l=1,2,3,...},其中s表示程序语句,l表示语句s对应的行号,Sl表示所有程序语句的集合,t表示相关逃逸规则,V(t)表示与逃逸规则t相对应的变量,并按照遍历顺序传递语句S(v)的分析结果。

4.如权利要求2或3所述的基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:根据Golang程序中不同语句S(v)的定义构建数据流方程,依据建立的数据流方程计算语句S(v)的约束关系,基于不同语句S(v)的数据流方程对目标函数作逆向数据流迭代分析,获取目标函数的Ppre,其中Ppre表示分析上一条语句得到的约束集,初始状态下利用Ppre计算目标函数的逃逸变量。

5.如权利要求2所述的基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:基于已经搜集到的对应的指针变量,设变量为V(r),r表示目标变量对应的逃逸区域,搜集目标函数h(....)内所有的局部变量和内存分配信息,设定变量以及内存初始逃逸状态均为未逃逸状态。

6.如权利要求4所述的基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:设F(x,y,r)为语句S(v)的约束函数,其中x表示语句S(v)中与V(t)相关的变量,y表示语句S(v)中与V(t)无关的变量,r表示接收到的上一条语句S(v)的分析结果,之后在构建不同语句S(v)对应的约束关系抽取方程。

7.如权利要求6所述的基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:基于各类语句S(v)的约束函数,利用逆向数据流迭代分析技术对目标函数h(...)进行数据流迭代分析,设变量State表示迭代分析过程中语句S(v)的约束集是否发生改变,State初始值为TRUE,若一趟迭代分析结束之后,语句S(v)的约束集没有发生任何变化,则State=FALSE,并停止迭代;若任意S(v)的约束集在迭代分析过程中发生了变化,则State=TRUE,当一趟迭代分析结束之后State=FALSE,则停止迭代分析,并称此时各语句S(v)的约束集达到了不动值;

若一趟迭代分析结束之后State=TRUE,则继续进行下一轮迭代分析直到State=FALSE即停止迭代分析,然后利用迭代计算获得的最终的Ppre值,建立函数对语句S(v)的约束集Ppre进行求解,并建立函数计算目标函数的逃逸变量,并根据目标函数是否包含参数类型变量进行判断。

8.如权利要求1或2所述的基于值流分析的Golang程序高效过程间逃逸分析方法,其特征在于:在判断待分析函数涉及过程间调用后,搜集与Golang语言逃逸规则相关的变量,添加对函数调用区域内的相关变量的搜集,并标记函数调用点处的Ppre,取出被调用函数的逃逸分析结果,将Ppre代入逃逸分析结果内进行计算,捕获调用函数内的逃逸变量。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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