A new foundation for control dependence and slicing for modern program structures

ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems(2007)

引用 122|浏览0
暂无评分
摘要
The notion of control dependence underlies many program analysis and transformation techniques. Despite being widely used, existing definitions and approaches to calculating control dependence are difficult to apply directly to modern program structures because these make substantial use of exception processing and increasingly support reactive systems designed to run indefinitely. This article revisits foundational issues surrounding control dependence, and develops definitions and algorithms for computing several variations of control dependence that can be directly applied to modern program structures. To provide a foundation for slicing reactive systems, the article proposes a notion of slicing correctness based on weak bisimulation, and proves that some of these new definitions of control dependence generate slices that conform to this notion of correctness. This new framework of control dependence definitions, with corresponding correctness results, is even able to support programs with irreducible control flow graphs. Finally, a variety of properties show that the new definitions conservatively extend classic definitions. These new definitions and algorithms form the basis of the Indus Java slicer, a publicly available program slicer that has been implemented for full Java.
更多
查看译文
关键词
order dependence,control dependence,reactive system,corresponding correctness result,nontermination,available program slicer,new foundation,indus,modern program structure,program slicing,program analysis,irreducible control flow graph,control dependence definition,new framework,bisimulation,new definition,control,algorithms,nodes,java,control flow graph,compilers,flow
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要