学位论文 > 优秀研究生学位论文题录展示

数据流分析技术研究与实例分析

作 者: 汪小飞
导 师: 赵克佳
学 校: 国防科学技术大学
专 业: 软件工程
关键词: 编译优化 数据流分析 GCC
分类号: TP314
类 型: 硕士论文
年 份: 2007年
下 载: 209次
引 用: 3次
阅 读: 论文下载
 

内容摘要


编译器为了将高级语言编写的程序转换为能够最充分发挥计算机性能的可执行代码,需要对代码进行各种各样的优化,即将一种结构的中间代码转换为效率更高的另一种结构的中间代码。详尽的数据流分析对于编译优化非常重要,不论是传统的高层优化,还是面向现代微处理器体系结构的低层优化,全都离不开数据流分析的支持。所以,数据流分析是现代编译器最重要的部分之一,是各种编译优化的基础。数据流分析是否全面和充分对编译优化的效果起着极其重要的作用。本文首先阐述了数据流分析的理论,研究了数据流分析的主流技术,对各种技术进行了归纳总结。然后本文以开源编译器GCC为对象,分析了GCC的基本结构和工作流程。在对各种主流数据流分析技术进行研究的基础上,分析了该编译器使用的数据流分析技术和具体实现方法,重点剖析了GCC编译器数据流分析所使用的数据结构和算法,描述了GCC数据流分析有关的数据结构和函数接口,同时结合其它的数据流分析技术进行了分析比较。从分析比较中找出了目前GCC编译器数据流分析实现上的不足,并提出了改进建议。实验结果表明改进具有一定的效果。

全文目录


摘要  8-9
ABSTRACT  9-10
第1章 引言  10-12
第2章 数据流分析问题的理论知识  12-26
  2.1 基本概念  12-16
    2.1.1 基本块与控制流程图  12-13
    2.1.2 流图结点的查找和遍历  13-14
    2.1.3 必经结点与后必经结点  14-15
    2.1.4 格和流函数  15-16
  2.2 数据流方程与常见数据流问题  16-21
    2.2.1 数据流方程  17
    2.2.2 常见数据流问题  17-21
  2.3 数据流分析使用的方法  21-24
    2.3.1 迭代数据流分析  21-22
    2.3.2 基于控制树的数据流分析  22-23
    2.3.3 结构分析  23-24
    2.3.4 区间分析  24
  2.4 数据流分析方法的简单比较  24-26
第3章 数据流分析实例研究—GCC数据流分析实现解析  26-58
  3.1 GCC的基本结构  26-29
    3.1.1 GCC的组成部分  26-28
    3.1.2 数据流分析在其中的位置  28-29
    3.1.3 GCC与数据流分析有关的优化  29
  3.2 GCC数据流分析概述  29
  3.3 数据流分析相关的全局数据结构  29-39
    3.3.1 表示基本块的数据结构  29-34
    3.3.2 表示边的数据结构  34-37
    3.3.3 表示集合的数据结构  37-39
  3.4 活跃变量分析  39-48
    3.4.1 活跃变量分析方法概述  39
    3.4.2 对flow.c文件的解读  39-40
    3.4.3 对life_analysis函数的分析  40-42
    3.4.4 对其它函数的分析  42-48
  3.5 DU链与UD链的建立  48-58
    3.5.1 对df.c文件的解读  48-51
    3.5.2 对df_analyse函数的分析  51-52
    3.5.3 对其它函数的分析  52-58
第4章 GCC数据流分析方法的优劣与改进  58-65
  4.1 GCC数据流分析方法的优点  58
  4.2 GCC数据流分析中的不足和有待改进的地方  58-62
  4.3 实验结果与分析  62-65
第5章 结束语  65-66
致谢  66-67
参考文献  67-69
附录A:攻读硕士期间发表的论文  69-70
附录B:攻读硕士期间参加的科研项目  70

相似论文

  1. 面向高性能DSP Matrix向量化编译器的设计与实现,TP314
  2. 基于GCC的缓冲区溢出检测研究,TP393.08
  3. 嵌入式MSDCC异构多核编译器研究,TP314
  4. ARM反编译中的类型分析技术研究,TP368.1
  5. 基于GCC的ARCA3的编译器移植,TP368.1
  6. SIMD数据置换指令的自动生成与优化,TP332
  7. 基于蜜罐技术的网络攻击预警系统的研究与应用,TP393.08
  8. 代码逆向分析中的语句恢复与算法识别技术研究,TP311.52
  9. C/C++程序安全检查工具中数据流分析器的设计与实现,TP311.11
  10. 面向MPI程序的进程数据相似性分析与优化技术,TP311.11
  11. 全局数组数据流分析技术的研究与实现,TP338.6
  12. IMS系统中OSA-GW的研究与设计,TN919.8
  13. JSP跨站脚本漏洞静态检测技术的研究与实现,TP311.10
  14. 基于GCC抽象语法树文本的C源程序语义分析方法研究,TP311.11
  15. YHFT-DSP编译关键技术分析及实现,TP314
  16. TD类漏洞及死锁检测系统的设计与实现,TP393.08
  17. 自动化单元测试录制框架的研究与实现,TP311.52
  18. GCC盒、D盒、JERE盒和JEGC盒在水稻中的功能分析,S511
  19. 考虑指针别名的静态分析技术研究,TP311.11
  20. 无线传感器网络中编译优化工具的研究及实现,TN929.5
  21. 基于GCC的复算容错编译技术研究与实现,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 编译程序、解释程序
© 2012 www.xueweilunwen.com