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