基于GCC抽象语法树文本的C源程序语义分析方法研究-计算机科学与技术专业论文.docxVIP

基于GCC抽象语法树文本的C源程序语义分析方法研究-计算机科学与技术专业论文.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于GCC抽象语法树文本的C源程序语义分析方法研究-计算机科学与技术专业论文

Classified Index: TP311.5 U.D.C:681 Dissertation for the Master Degree in Engineering RESEARCH ON SEMANTIC ANALUSIS OF C PROGRAM BASED ON GCC ABSTRACT SYNTAX TREE TEXT Candidate: Feng Zhansheng Supervisor: Prof.Su Xiaohong Academic Degree Applied for: Master of Engineering Speciality: Computer Science and Technology Affiliation: School of Computer Scinence and Technology Date of Defence: June, 2009 Degree-Conferring-Institution: Harbin Institute of Technology 摘要 本文致力于完成 C 语言源程序的系统依赖图的构造,系统依赖图是静态分析工 具的基础,在逆向工程中具有重要意义。系统依赖图的构造可以归结为控制流分析 和数据流分析,控制流分析主要是求取语句间的控制依赖关系,可以归结为父亲- 孩子关系的求解。数据流分析主要是求取语句间的数据依赖关系,可以归结为到达 -定值信息的求解。 本文提出了一种基于 GCC 抽象语法树文本的构造系统依赖图的新方法,首先, 对 GCC 抽象语法树进行了深入的研究,统计出 GCC 抽象语法树中各个符号的含义, 为后续研究奠定了基础。其次,对 GCC 抽象语法树文本进行了标准化及消除文本 中与控制流分析和数据流分析无关的冗余信息。再次,用面向对象的思想来进行静 态信息提取。最后,在构造系统依赖图时,本文没有采用传统构造系统依赖图的流 程,而是首先建立了控制依赖图,其次在控制依赖图的基础上构建控制流图,再次 在控制流图的基础上构建数据流图。同时本文给出了各个步骤的具体算法描述,其 中包含了自己的算法及对以往算法的改进。为了提高数据流的精度,介绍了一些提 高数据流精度的方法,比如指针分析、变量别名分析等等。另外,本文在设计系统 时,也对每个过程的相关信息进行了统计,为用户查询模块奠定了基础。 本文最后一章给出了系统的详细设计,并对源程序进行了测试,验证了算法的 可行性,通过与以往研究的对比,说明了该方法的优越性。 关键词:GCC 抽象语法树;控制流分析;数据流分析;控制流图;系统依赖图 Abstract In this paper, system dependence graph on the C programming language is constructed, which is the basis of static analysis tool and plays an important role in the reverse engineering. The construction of system dependence graph can be attributed to the control flow analysis and data flow analysis. The control dependence relationship among statements is obtained by control flow analysis, which can be attributed to obtain the father-child relationship. The data dependence relationship among statements is obtained by data flow analysis, which can be attributed to obtain the global information about how a program defines, changes and uses data values. The method that how to construct the system dependence graph based on the abstract syntax tree text is put forward. Firstly, the abstract syntax tree is studied, and the meaning of symbols in abstract syntax tree is obtained, wh

您可能关注的文档

文档评论(0)

131****9843 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档