期刊文献+

一种基于程序可达图的并发程序依赖性分析方法 被引量:13

An Approach to Analyzing Dependence of Concurrent Programs Based on Program Reachability Graphs
下载PDF
导出
摘要 依赖性分析是一种重要的程序分析手段.针对多线程共享变量通信机制,本文在提出一种新的并发程序表示—线程交互可达图(tIRG)的基础上,从全局分析并发程序的依赖关系,构建了以程序状态和语句二元组为节点的并发程序依赖图(MSDG).与传统的以语句为节点的并发程序依赖图相比,MSDG图中依赖关系不仅精确,且具有可传递性,对其遍历可获得高精度的并发程序切片,精度和效率较其它高精度切片方法有显著提高. Dependence analysis is an important technique to analyze programs. This paper proposes a novel representation for multi-threaded programs with shared variables, which is called thread interaction reachabih'ty graph (tlRG).Based on tlRG, dependences in concurrent programs are analyzed globally and a new dependence graph called MSDG, which vertex is a 2-tuple composed of program state and statement, is constructed. Compared with traditional concurrent program dependence graph which vertex is statement, dependence relation in MSDG is precise and transitive. In contrast to other high-precision slicing methods,more precise slice will be obtained efficiently by traversing MSDG.
出处 《电子学报》 EI CAS CSCD 北大核心 2007年第2期287-291,共5页 Acta Electronica Sinica
基金 国家自然科学基金(No.60373066 No.60425206)
关键词 并发程序 可达性分析 依赖性分析 程序切片 concurrent programs reachability analysis dependence analysis program slicing
  • 相关文献

参考文献11

  • 1Ferrante J, Ottenstein K J, Warren J D. The program depen- dence graph and its use in optimization[ J ]. ACM Trans on Pro- gramming languages and Systems, 1987,9(3):319- 349.
  • 2Chen Z Q, Xu B W, Zhao J J. An overview of methods for de- pendence analysis of concurrent programs[ J]. ACM SIGPLAN Notices, 20(E,37(8) :45 - 52.
  • 3Cheng J. Task dependence nets for concurrent systems with Ada 95 and its applications[ A ]. ACM TRI-Ada International Con- ference[ C] .St Louis, Missouri: ACM Press, 1997.67 - 78.
  • 4Zhao J J, Li B X. Dependence based representation for concurrent Java programs and it' s application to slicing [ A ]. International Symposium on Future Software Technology [ C]. Japan: Software Engineers Association, 2004, 105 - 112.
  • 5Ranganath V P, Hatcliff J. Pruning the Detection of Interference and Ready Dependence for Slicing Concurrent Java Programs [ R ]. Kansas: Computing and Information Sciences Department, Kansas State University, 2005.
  • 6张晶,金成植.基于控制流的多线程程序的静态切片算法[J].吉林大学学报(理学版),2003,41(4):481-486. 被引量:3
  • 7陈振强,徐宝文.一种并发程序依赖性分析方法[J].计算机研究与发展,2002,39(2):159-164. 被引量:13
  • 8Kfinke, J. Context-sensitive slicing of concurrent programs[ A] : ACM SIGSOFT Symposium on Foundations of Software Engineering 2003 held jointly with 9th European Software Engineering Conference[C]. St Louis, Missouri: ACM press, 2003. 178 - 187.
  • 9Nanda M G. Slicing Concurrent Java Programs:Issues and Solutions[ D ]. Bombay: Department of Computer Science and Engineering,Indian Institute of Technology,2001.
  • 10Qi X F,Xu B W. Dependence analysis of concurrent programs based on reachability graph and its applications [ A ]. Intemational Conference on Computational Science [ C ]. Berlin: Springer Verlag, 2004. LNCS3036:405 - 408.

二级参考文献12

  • 1徐宝文.一种逆向程序流依赖性分析方法及其应用[J].计算机学报,1993,16(5):385-392. 被引量:9
  • 2徐勇.基于依赖性分析的Ada程序切片:硕士论文[M].南京:东南大学,1997..
  • 3Tip F. A Survey of Program Slicing Techniques[J]. Journal of Programming Languages, 1995, (3): 121-189
  • 4Clarke E M, Fujita M, Rajan S P, et al. Program Slicing for Design Automation: An Automatic Technique for Speeding-up Hardware Design, Simulation, Testing, and Verification[R]. TR-CMU-CS99-103, Pennsylvania:Carnegie Mellon University, 1999.
  • 5Millett L I, Teitelbaum T. Slicing Promela and Its Applications to Model Checking, Simulation, and Protoeal Understanding[C]. In Proceedings of the 4th International SPIN Workshop, Paris, http://citeseer, nj. nee.com/millett98slicing.html. , 1998.
  • 6Horwitz S, Reps T, Binkley D. Interprocedural Slicing Using Dependence Graphs [J]. ACM Trans Prog Lang Syrt, 1990, 12(1):26-60.
  • 7Cheng J. Slicing Concurrent Programs a Graph-theoretical Approach [J]. Proceedings of the First International Workshop on Automated and Algorithmic Debugging, LNCS, 1993, (749): 223-240.
  • 8Dwyer M B, Corbett J C, HateHff J, et al. Slicing Multi-threaded Java Programs: A Case Study[R]. TR-99-7,Manhattan:Kansas State University, Department of Computing and Information Sciences, 1999.
  • 9Zhao J, Cheng J, Ushijima K. Static Slicing of Concurrent Object-oriented Programs [C]. COMPSAC '96-20th Computer Software and Applications Conference, Seoul, 1996 : 0312.
  • 10Jens K. Static Slicing of Threaded Programs [J]. Workshop on Program Analysis for Software Tools and Engineering(PASTE'98), Proc ACM SIGPLAN/SIGFSOFT, 1998:35-42.

共引文献13

同被引文献117

引证文献13

二级引证文献16

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部