期刊文献+

从GCC的AST文本提取C源程序静态信息的方法 被引量:2

Extraction of static information of C program from GCC abstract syntax tree text
下载PDF
导出
摘要 为了能够正确的分析源程序的控制依赖关系和数据依赖关系,以便在此基础上进行程序切片及冗余代码和重复代码检测,提出一种利用GCC抽象语法树(AST)文本来提取源程序静态信息的方法.首先,对GCCAST文本进行标准化及消除文本中与控制流分析和数据流分析无关的结点信息;其次,构建控制依赖子图;同时如果需要数据流分析,在控制依赖子图的基础上构建控制流图,在控制流图的基础上构建数据流子图;最后通过引入过程间分析来完善系统依赖图.实验结果表明,这种方法基本能正确的分析源程序的控制依赖和数据依赖关系,具有更好的适应性和灵活性. In order to correctly analyze the control dependence and data dependence relations of C program,and then carry out the program slicing,code redundancy and code duplication detection,a method to extract the static information of C program from GCC AST text was put forward.Firstly,the GCC AST text was standardized and the nodes unrelated to control dependence and data dependence analysis were eliminated.Secondly,control dependence subgraph was constructed.If data flow analysis was necessary,control flow graph was constructed based on control dependence subgraph and data dependence subgraph was constructed based on control flow graph.At last,by the introduction of inter-process analysis,system dependence graph was improved.It is indicated that the research can correctly analyze the control dependence and data dependence relations.
出处 《哈尔滨工业大学学报》 EI CAS CSCD 北大核心 2010年第7期1100-1103,共4页 Journal of Harbin Institute of Technology
基金 国家自然科学基金资助项目(60673035)
关键词 程序静态分析 AST 控制依赖 数据依赖 控制流图 系统依赖图 program static analysis abstract syntax tree(AST) control dependence data dependence control flow graph system dependence graph
  • 相关文献

参考文献10

  • 1ANTONIOL G, Di PENTA M, MASONE G, et al. Compiler hacking for source code analysis [C]//Proceedings of the 3rd IEEE International Workshop on Source Code Analysis and Manipulation. Washington, DC: IEEE Computer Society, 2004 : 383 - 406.
  • 2ANTONIOL G, Di PENTA M, MASONE G, et al. XML-oriented gcc ast analysis and transformations [ C ]//Proceedings of the 3rd IEEE International Workshop on Source Code Analysis and Manipulation. Washington : IEEE Computer Society, 2003 : 173 - 182.
  • 3HOLT R C, SCHURR A, SIM S E, et al. GXL: A graph-based stardard exchange format for reengineering [ J ]. Science of Computer Programming, 2006,60 ( 2 ) : 149 - 170.
  • 4李鑫,王甜甜,苏小红,马培军.消除GCC抽象语法树文本中冗余信息的算法研究[J].计算机科学,2008,35(10):170-172. 被引量:8
  • 5DEARMAN D, COX A, FISHER M. Adding control-flow to a visual data-flow representation[ C ]//Proceedings of the 13th International Workshop on Program Comprehension. Washington : IEEE Computer Society, 2005 : 297 - 306.
  • 6苏小红,孙志岗.C语言大学实用教程学习指导[M].北京:电子工业出版社,2008.
  • 7STOREY M A. Theories, methods and tools in program comprehension: Past present andi future [ C ]//Proceedings of the 13^th International Workshop on Program Comprehension. Washington: IEEE Computer Society, 2005:181 - 191.
  • 8KOTHARI S C. Scalable program comprehension for analyzing complex defects[C]//Proceedings of the 16^th IEEE International Conference on Program Comprehension. Washington: IEEE Computer Society, 2008:3 -4.
  • 9MALETIC J I, KAGDI H. Expressiveness and effectiveness of program comprehension: Thoughts on future research directions [ C ]//Proceedings of the 16^th Frontiers of Software Maintenance. Beijing: FoSM, 2005:31-37.
  • 10支雷磊,王佳,曾庆凯.针对源代码的隐蔽通道标识关键技术及其改进方法[J].上海交通大学学报,2009,43(1):101-105. 被引量:2

二级参考文献15

  • 1刘文伟,刘坚.一个重建GCC抽象语法树的方法[J].计算机工程与应用,2004,40(18):125-128. 被引量:7
  • 2王相懂,张毅坤.基于GCC的抽象语法树对C++源程序结构的分析[J].计算机工程与应用,2006,42(23):97-99. 被引量:8
  • 3Power J F. Program annotation in XML: a parse-tree based approach[C]//Proceedings of the Ninth Working Conference on Reverse Engineering. 2002 : 1095-1350
  • 4Antoniol G. XML-Oriented gcc AST Analysis and Transformations[C]//Proceedings of the Third IEEE International Workshop on Source Code Analysis and Manipulation. 2005,7:869- 901
  • 5Kemmerer R A. A practical approach to identifying storage and timing channels [C]//Twenty Years Later Proc of IEEE the 18th Annual Computer Security Applications Conference. USA: IEEE Inc, 2002.
  • 6Kemmerer R A, Taylor T. A modular covert channel analysis methodology for trusted DG/UX^TM [J].IEEE Trans on Software Engineering, 1996, 22:224- 235.
  • 7Kemmerer R A, Porras P A. Covert flow trees: A visual approach to analyzing covert storage channels [J]. IEEE Trans on Software Engineering, 1991, 17(11): 1166-1185.
  • 8Tsai C R, Oligor V D, Chandersekaran C S. On the identification of covert storage channels in secure systems[J]. IEEE Trans on Software Engineering, 1990, 16(6) : 569-580.
  • 9Wang C D, Ju S G. Searching covert channels by identifying malicious subjects in the time domain [J]. Proc of IEEE Workshop on Information Assurance, 2004(1) : 68-73.
  • 10Reps T, Sagiv M, Horwitz S. Interprocedural dataflow analysis via graph reachability [C]//Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. USA: San Francisco, 1995.

共引文献8

同被引文献22

  • 1刘文伟,刘坚.一个重建GCC抽象语法树的方法[J].计算机工程与应用,2004,40(18):125-128. 被引量:7
  • 2柳有权,刘学慧,吴恩华.基于GPU带有复杂边界的三维实时流体模拟[J].软件学报,2006,17(3):568-576. 被引量:54
  • 3科克,胡文美.大规模并行处理器编程实战[M].北京:清华大学出版社,2010.
  • 4仇德元.GPGPU编程技术[M].北京:机械工业出版社,2011:19-20.
  • 5OWENS J D,HOUSTON M, LUEBKE D,et al. GPU computing[J]. Proceedings of the IEEE, 2008, 96(5): 879 -899.
  • 6VAZQUEZ F, GARZON E M, MARTINEZ J A, et al The spareematrix vector product on GPUs[ R/OL]. [2013 -05 -01]. http://www. hpca. ual. es/ - fvaquez/fp-content/attachs/NVIDA _TECHHEPORTO9. pdf.
  • 7FAZACKERLEY S, MCAVOY S M, LAWRENCE R. GPU acceler-ated AES-CBC for database applications [ C]// Proceedings of the27 th Annual ACM Symposium on Applied Computing. New York:ACM, 2012: 873 -878.
  • 8M1CHAIAKES J, VACHHAIiAJANI M. GPU acceleration of nu-merical weather prediction [ J]. Parallel Processing Letters, 2008,18(4): 531 -548.
  • 9NVIDIA Corporation. NVIDIA CUDA programming guide [ M].Santa Clara: NVIDIA Corporation, 2011.
  • 10BRYANT R E,O'HALLARON D.深人理解计算机系统[M].北京:机械工业出版社,2011.

引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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