检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
机构地区:[1]中国科学院软件研究所计算机科学国家重点实验室,北京100190 [2]中国科学院研究生院,北京100190
出 处:《计算机学报》2009年第9期1750-1758,共9页Chinese Journal of Computers
基 金:国家自然科学基金(60633010);国家"八六三"高技术研究发展计划项目基金(2009AA01Z148)资助~~
摘 要:提出了一种自动检测C语言程序中是否含有死循环的方法.该方法基于程序分析技术,包括循环展开和路径可行性分析技术.该方法首先通过遍历控制流图生成待查循环的检验路径;之后通过分析检验路径的可行性以及路径之间的联系,判断这些路径是否符合死循环模式.在此方法基础上实现了原型工具LoopAnalyzer,并对一组基准程序进行测试.实验结果表明此工具能有效地检测出C语言程序中的死循环,并且准确率较高.This paper proposes a method for detecting infinite loops in C programs. The method is based on some static analysis techniques, including loop unwinding and path feasibility checking. By traversing the program's flow graph, it firstly generates a set of diagnosis paths for a specified loop. Then it analyzes all the paths according to their test data and relationship, to decide whether there is a subset of the paths matching some non-termination pattern. A prototype tool called LoopAnalyzer is developed to illustrate the feasibility of this method. The experimental results on some benchmark programs show that the tool can detect infinite loops effectively and accurately.
分 类 号:TP311[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.229