期刊文献+

并发程序切片原型系统的设计与实现 被引量:1

A Prototype Tool for Slicing Concurrent Programs
下载PDF
导出
摘要 并发程序切片是并发程序分析的一种重要手段。针对多线程共享变量通信机制,在通过程序分析工具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
  • 相关文献

参考文献11

  • 1Cheng Jingde. Task dependence nets for concurrent sys- tems with Ada 95 and its applications[C]//Proceedings of ACM TRI-Ada International Conference (TRI-Ada '97). New York, NY, USA: ACM, 1997: 67-78.
  • 2Zhao Jianjun. Multithreaded dependence graphs for con- current Java programs[C]//Proceedings of the Interna- tional Symposium on Software Engineering for Parallel and Distributed Systems (PDSE '99). Washington, DC, USA: IEEE Computer Society, 1999: 13-23.
  • 3Krinke J. Static slicing of threaded programs[J]. ACM SIGPLAN Notices, 1998, 33(7): 35-42.
  • 4Krinke J. Context-sensitive slicing of concurrent pro- grams[C]//Proceedings of the 9th European Software En- gineering Conference Held Jointly with the llth ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE-11). New York, NY, USA: ACM, 2003: 178-187.
  • 5Nanda M G, Ramesh S. Slicing concurrent programs[J]. ACM SIGSOFT Software Engineering Notes, 2000, 25(5) 180-190.
  • 6Nanda M C~ Ramesh S. Inter-procedural slicing of multi- threaded programs with applications to Java[J]. ACM Transactions on Programming Languages and Systems, 2006, 28(6): 1088-1144.
  • 7Ranganath V P, Hatcliff J. Slicing concurrent Java pro- grams using Indus and Kaveri[J]. International Journal on Software Tools for Technology Transfer, 2007, 9(5): 489- 504.
  • 8陈振强,徐宝文.一种并发程序依赖性分析方法[J].计算机研究与发展,2002,39(2):159-164. 被引量:13
  • 9戚晓芳,徐宝文,周晓宇.一种基于程序可达图的并发程序依赖性分析方法[J].电子学报,2007,35(2):287-291. 被引量:14
  • 10Giffhorn D, Hammer C. Precise slicing of concurrent programs[J]. Automatic Software Engineering, 2009, 16(2) 197-234.

二级参考文献14

  • 1徐宝文.一种逆向程序流依赖性分析方法及其应用[J].计算机学报,1993,16(5):385-392. 被引量:9
  • 2徐勇.基于依赖性分析的Ada程序切片:硕士论文[M].南京:东南大学,1997..
  • 3Ferrante 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.
  • 4Chen 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.
  • 5Cheng 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.
  • 6Zhao 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.
  • 7Ranganath 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.
  • 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.

共引文献22

同被引文献13

  • 1Baowen Xu,Ju Qian,Xiaofang Zhang,Zhongqiang Wu,Lin Chen.A brief survey of program slicing[J].ACM SIGSOFT Software Engineering Notes.2005(2)
  • 2Susan Horwitz,Thomas Reps,David Binkley.Interprocedural slicing using dependence graphs[J].ACM Transactions on Programming Languages and Systems (TOPLAS).1990(1)
  • 3Jeanne Ferrante,Karl J. Ottenstein,Joe D. Warren.The program dependence graph and its use in optimization[J].ACM Transactions on Programming Languages and Systems (TOPLAS).1987(3)
  • 4Ranganath V P.Scalable and accurate approaches for program dependence analysis,slicing,and verification of concurrent object oriented programs[]..2006
  • 5.JSlice[]..2012
  • 6.CodeSurfer[]..2012
  • 7.JavaSlicer[]..2012
  • 8.Slithice[].https://githubcom/juqian/Slithice.2012
  • 9Larsen L D,Harrold M J.Slicing Object-Oriented Software[].Proceedings of the th International Conference on Software Engineering.1996
  • 10Liang D,Harrold MJ.Slicing Objects Using System Dependence Graphs[].Proceedings of the International Conference on Software Maintenance.1998

引证文献1

二级引证文献3

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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