[发明专利]一种基于重构控制流图的控制流错误检测优化方法无效

专利信息
申请号: 201010504386.1 申请日: 2010-10-12
公开(公告)号: CN101944064A 公开(公告)日: 2011-01-12
发明(设计)人: 谭庆平;李建立;宁洪;徐建军;周会平;谭兰芳;徐锡山 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 国防科技大学专利服务中心 43202 代理人: 郭敏
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于重构控制流图的控制流错误检测优化方法,目的是提供一种新的基于重构控制流图的控制流错误检测优化方法,解决检错效率不高等问题。技术方案是将源程序划分为基本块,构建基本块表,并基于基本块表构建程序控制流图,然后基于控制流图,划分逻辑块,构建逻辑块表,接着复制基本块,使得逻辑块相互独立,再根据配置要求均匀切割逻辑块,构建基本逻辑块表,最后基于基本逻辑块表,重构程序控制流图。基于重构的控制流图即可实现现有的控制流错误检测算法。采用本发明能够灵活配置基本块的划分,使得现有的控制流检错算法能够基于重构的控制流图直接应用,有效提高检错算法的效率。
搜索关键词: 一种 基于 控制 错误 检测 优化 方法
【主权项】:
一种基于重构控制流图的控制流错误检测优化方法,包括以下步骤:第一步,将源程序划分为基本块,构建基本块表;第二步,基于基本块表,构建程序控制流图;其特征在于还包括以下步骤:第三步,基于控制流图,划分逻辑块,构建逻辑块表: 3.1 构造并初始化局部路径链和标志位:分别为每个基本块构造一个局部路径链,局部路径链是多个基本块组成的链表,链表中每个结点存放一个基本块编号,链表的第一个结点定义为链头,链表的最后一个结点定义为链尾;为基本块Bm构造的局部路径链Lm的链头存放Bm的编号;针对每个局部路径链分别创建一个对应的标志位,初始值置为真;3.2 基于控制流图更新局部路径链:针对每个对应标志位为真的局部路径链,若该链表的链尾对应的基本块Bend是分界块,则将该链表对应的标志位置为假;若Bend不是分界块,则查找控制流图中Bend的后继基本块,并将后继基本块的编号作为一个新结点插入到链表尾部;分界块指多扇出块、程序结束块、函数调用块的前驱、函数调用块或出口块,多扇出块是指控制流图中有多于一个后继的基本块;3.3 判断是否所有局部路径链对应的标志位都为假,如果是则执行第3.4步,否则转到第3.2步;3.4 删除符合条件的局部路径链:选择满足如下删除条件的链表Lshort和Llong,然后删除Lshort:lLshort是Llong中的一段;且lLshort的链头对应的基本块在控制流图中的任何前驱基本块都不是分界块;3.5 判断是否还存在符合第3.4步删除条件的局部路径链,如果是则执行第3.4步,否则转到第3.6步;3.6 基于局部路径链构建逻辑块表:为每个局部路径链分配编号,将每个局部路径链和对应的编号作为一条记录存入逻辑块表,此时,每个局部路径链里的所有基本块构成一个逻辑块,每个局部路径链的编号即为对应逻辑块的编号;逻辑块是一个确定先后执行的基本块序列,逻辑块的最后一个基本块是分界块,第一个基本块在控制流图中的前驱至少有一个是分界块;第四步,复制基本块,使得逻辑块相互独立。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201010504386.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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