基于路径分析的死循环检测  被引量:7

Infinite Loop Detection Based on Path Analysis

在线阅读下载全文

作  者:阮辉[1,2] 严俊[1] 张健[1] 

机构地区:[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[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象