摘要
并发程序切片是并发程序分析的一种重要手段。针对多线程共享变量通信机制,在通过程序分析工具CodeSurfer获取程序基本信息的基础上构造程序可达图,生成以程序状态和语句二元组为节点的并发程序依赖图,实现了基于程序可达图的并发程序切片原型系统。初步实验结果表明,与传统的切片方法相比,采用基于程序可达图的并发程序切片方法,可有效地解决依赖关系不可传递问题,获得高精度的并发程序切片。
Slicing is an important approach to analyzing and understanding concurrent programs. Based on the basic program information extracted with a program analyzing tool, CodeSurfer, this paper builds program reachability graph for multi-threaded programs with shared variables, then generates a novel dependence graph, which vertex is a 2-tuple composed of program state and statement, and implements a prototype tool for slicing concurrent programs. Preliminary experimental results show that the intransitivity problem of dependence relations can be solved and more precise slices are obtained efficiently by the proposed approach in contrast to traditional slicing approaches.
出处
《计算机科学与探索》
CSCD
2012年第3期257-266,共10页
Journal of Frontiers of Computer Science and Technology
基金
国家自然科学基金No.60873049~~
关键词
并发程序
原型系统
依赖性分析
程序切片
concurrent programs
prototype system
dependence analysis
program slicing