[发明专利]一种区间信息分析方法有效
| 申请号: | 201810634685.3 | 申请日: | 2018-06-20 |
| 公开(公告)号: | CN109002684B | 公开(公告)日: | 2021-08-06 |
| 发明(设计)人: | 马森;张世琨;邵思豪;高庆 | 申请(专利权)人: | 北京大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
| 地址: | 100871*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 区间 信息 分析 方法 | ||
本发明提供一种区间信息分析方法,包括:S1,对于值依赖图中任一结点,根据该结点的任一前驱结点的区间信息和该结点与该前驱结点间的守卫条件,获取该前驱结点流入该结点的区间信息;S2,根据该结点的每一前驱结点流入该结点的区间信息和该结点的类型,获取该结点的区间信息。本发明提供的方法,应用递归的方法,基于前驱结点的区间信息和守卫条件,实现了值依赖图中任一结点区间信息的获取,提高了值依赖图的分析效率和分析进度。
技术领域
本发明涉及值依赖图技术领域,尤其涉及一种区间信息分析方法。
背景技术
值依赖图(Value Dependence Graph)是一种有向图,可表示为VDG=(N,N_s,E,E_i)。其中,N为结点集,每个结点对应程序中的一条语句,N_s为选择语句结点集,包含分支选择语句以及循环选择语句,边集E={n1,ns1,…,nsi,n2|n1,n2∈N,ns1,nsi∈N_s,n1为n2在值依赖源点,ns为可选结点即n1可以直接到达n2}。上述值依赖图是对流值图的一种扩展。
值依赖图本身是通过定值使用分析和数据流分析等构造的反应变量之间守卫条件的图,所有可能影响当前结点值域范围的结点都是当前结点的前驱结点,并且每个前驱结点到当前结点都有相应的逻辑条件进行约束。
然而,如何基于值依赖图中反应变量间的守卫条件,获知任一结点的区间信息,依然是值依赖图领域亟待解决的问题。
发明内容
本发明为解决现有技术中存在的问题,提供了一种区间信息分析方法。
一方面,本发明提出一种区间信息分析方法,包括:S1,对于值依赖图中任一结点,根据该结点的任一前驱结点的区间信息和该结点与该前驱结点间的守卫条件,获取该前驱结点流入该结点的区间信息;S2,根据该结点的每一前驱结点流入该结点的区间信息和该结点的类型,获取该结点的区间信息。
优选地,所述步骤S1进一步包括:根据下式获取该结点的任一前驱结点流入该结点的区间信息:
predsMap[i](vnode)=outMap[i]∩guardMap[i]
式中,predsMap[i](vnode)为该结点的第i个前驱结点流入该结点的区间信息,outMap[i]为该结点的第i个前驱结点的区间信息,guardMap[i]为该结点与该结点的第i个前驱结点间的守卫条件的区间信息。
优选地,所述步骤S2进一步包括:S21,根据下式获取流入该结点的区间信息:
式中,inMap(vnode)为流入该结点的区间信息,predsMap[i]为该结点的第i个前驱结点流入该结点的区间信息;S22,根据所述流入该结点的区间信息和该结点的类型,获取该结点的区间信息。
优选地,所述步骤S22进一步包括:若所述流入该结点的区间信息为空集,则该结点的区间信息为空集;否则,若该结点的前驱结点中包括该结点,则根据所述流入该结点的区间信息和该结点的类型,获取该结点循环前信息,基于所述循环前信息和自循环的守卫条件获取该结点的区间信息;若该结点的前驱结点不包括该结点,则基于所述流入该结点的区间信息和该结点的类型获取该结点的区间信息。
优选地,该结点的类型为赋值结点、函数调用结点、函数入口结点、条件判断结点或返回语句结点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810634685.3/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置





