[发明专利]一种带环路径的编码、执行及解码方法有效
申请号: | 201210159676.6 | 申请日: | 2012-05-22 |
公开(公告)号: | CN102693133A | 公开(公告)日: | 2012-09-26 |
发明(设计)人: | 李必信;王璐璐 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 王玉梅 |
地址: | 211189 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种带环路径的编码、执行及解码方法,其通过区分控制流图中节点的各条入边,保证有环情况下每条路径具有唯一的编码,并且结合面向对象软件中方法间调用关系的处理,使得该编码方案不仅可以应用于过程内路径,也可以应用于过程间路径,并能够处理多态、递归等复杂的调用关系。此外本发明还利用控制流图结构中无环子图的概念,并通过在无环子图中应用已有的无环路径编码方案,将子图中的路径编码与本方法的全局路径编码相结合,不仅保证了路径编码的唯一性,且起到了压缩编码空间、提升编码效率的效果。同时本发明还提供了针对性的执行和解码方法,简明易于实现。 | ||
搜索关键词: | 一种 带环 路径 编码 执行 解码 方法 | ||
【主权项】:
一种带环路径的编码、执行及解码方法,其特征是,包括以下步骤:(1)从程序源码中获取各个过程之间的调用关系、每个过程内部的控制结构以及在控制结构基础上的无环子图;(2)按照路径的不同类型执行相应的插装算法,即:对于过程内的路径,首先求出过程内部具有多个入边的节点集合,对于集合中的每个节点,定义其具有n条入变,将这n条入边依次与从0开始的n‑1个连续整数相对应;然后在该边上插装加法和乘法相结合的探针计算语句,执行终点处的探针变量的值对应于所执行路径的编码,以使得到的路径编码具有唯一性;对于过程间的路径,基于目标程序中各个过程之间的调用关系,以适当的策略将过程集簇;如果一个多态调用涉及的被调用方法分布在多个簇中,则对相应的调用语句进行拆解,以使每个调用边的动态绑定情况局限于单个簇中;然后组合各个过程内的控制流图得到全局控制流;对于全局控制流图中的节点,按照过程内路径的方式按序进行插装,且对于有多个入边的节点,依次在其所有入边上插装乘法和加法相结合的探针计算语句;(3)执行插装后的程序,并收集相应的路径编码及其频率;(4)由步骤(3)中收集到的信息在控制流图上进行回溯,将路径编码转化为路径,以获取路径的执行结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210159676.6/,转载请声明来源钻瓜专利网。