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

C/C++安全检查工具预处理器的设计与实现

作 者: 蒋超
导 师: 刘坚
学 校: 西安电子科技大学
专 业: 计算机软件与理论
关键词: 安全检查 预处理器 ANTLR
分类号: TP312.1
类 型: 硕士论文
年 份: 2008年
下 载: 65次
引 用: 1次
阅 读: 论文下载
 

内容摘要


本文在分析C/C++程序安全检查工具框架的基础上,根据安全检查工具的特殊需求,给出了一种基于分析器自动生成工具ANTLR构造C/C++安全检查工具预处理器的方法,并将此方法应用于实际开发过程中。使用此方法构造的预处理器通过分析C/C++源代码为后端安全检查提供完成预处理后的中间文件及安全检查所需的特殊信息,并且完成预处理阶段的安全漏洞检查。本文使用ANTLR生成词法分析器、语法分析器框架,重点讨论了C/C++预处理标准及其安全、预处理器的设计与实现以及预处理安全检查模块的设计与实现。实践表明,该预处理器能够满足安全检查工具的需要。

全文目录


摘要  3-4
Abstract  4-7
第一章 绪论  7-11
  1.1 研究背景  7-8
  1.2 C/C++程序安全检查工具概述  8-9
  1.3 本文工作及内容组织  9-11
第二章 C/C++预处理  11-15
  2.1 C/C++预处理器及预处理指令  11-12
  2.2 C/C++程序安全检查工具预处理器  12
  2.3 预处理中的安全漏洞  12-15
第三章 ANTLR与C/C++程序安全检查工具预处理器  15-23
  3.1 分析器自动生成工具ANTLR  15-20
    3.1.1 语法分析器  15-17
    3.1.2 分析器自动生成工具ANTLR的特点  17-20
  3.2 使用ANTLR设计预处理器  20-23
    3.2.1 C/C++程序安全检查工具预处理器  20-21
    3.2.2 ANTLR在构造预处理器中的作用  21-23
第四章 C/C++安全检查工具预处理器的设计与实现  23-45
  4.1 预处理器的整体结构  23-24
  4.2 主要数据结构的设计与实现  24-27
    4.2.1 宏定义存储的数据结构  24-25
    4.2.2 宏替换的数据结构  25-26
    4.2.3 词法及语法分析器数据结构  26-27
  4.3 预处理指令的分析与实现  27-40
    4.3.1 预处理指令种类  27-28
    4.3.2 宏定义相关预处理指令  28-31
      4.3.2.1 #define指令  28-30
      4.3.2.2 #undef指令  30-31
    4.3.3 条件编译相关预处理指令  31-37
      4.3.3.1 #if、#elif、#else、#endif指令  31-36
      4.3.3.2 #ifdef、#ifndef指令  36-37
    4.3.4 文件包含预处理指令  37-38
      4.3.4.1 #include指令  37-38
    4.3.5 其他预处理指令  38-40
      4.3.5.1 #line指令  38-39
      4.3.5.2 #error指令  39-40
  4.4 安全检查模块的设计  40-45
    4.4.1 预处理的安全分析  40
    4.4.2 预处理器的安全策略  40-42
    4.4.3 预处理器安全模块的设计  42-45
第五章 C/C++程序安全检查工具预处理器构造的关键技术  45-55
  5.1 预处理操作符  45-48
    5.1.1 字符串化操作符(#)  45-47
    5.1.2 语言符号粘贴操作符(##)  47-48
  5.2 宏展开的特殊情况  48-53
    5.2.1 宏的多重展开  49-51
    5.2.2 递归宏调用的处理  51-52
    5.2.3 可变参数宏的处理  52-53
  5.3 文件和行信息的保留  53-54
    5.3.1 C/C++检查工具的要求  53-54
    5.3.2 各种情况下文件和行信息的处理  54
  5.4 各种情况下空白的处理  54-55
第六章 结束语  55-56
致谢  56-57
参考文献  57-59
在校期间研究成果  59-60
附录A 简单计算器完整实现  60-63

相似论文

  1. 基于状态机的安全漏洞检查机制的设计与实现,TP309
  2. 人体隐蔽携带刀具、枪支危险物的THz图像识别,TP391.41
  3. CD机场安检管理信息系统探析,F562
  4. C/C++程序安全检查工具中数据流分析器的设计与实现,TP311.11
  5. 面向软件安全检查工具的符号表设计与实现,TP311.53
  6. 软件安全检查工具前端的设计与实现,TP311.53
  7. 华聚能源股份有限公司全方位动态安全管理信息系统,TP311.52
  8. 动态安全管理信息系统的设计与实现,TP311.52
  9. 高速网络下提高Snort检测率的方法研究,TP393.08
  10. 露天铁矿采场安全评价体系研究,F426.1
  11. 安全评价技术在电建起重机械安全管理中的应用,X941
  12. 实时Java平台的配套软件工具包设计及实现,TP311.52
  13. 基于机器学习的电梯安全评价研究,TU857
  14. 基于后缀语法树的代码抄袭检测研究,TP311.11
  15. 基于网格的UDLC语言编译器的实现,TP314
  16. 船舶滞留与安全检查缺陷的灰色关联度研究,U692
  17. 国内海船安全检查选船系统研究,U692.7
  18. 杨庄煤矿水害危险性评价及防范对策研究,TD74
  19. 基于ANTLR的Gaussian词法分析器和语法分析器的分析与设计,TP399-C5
  20. 汽车分队运输安全评价研究,U492.8
  21. 中一联合站风险评价技术研究,TE88

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序语言、算法语言
© 2012 www.xueweilunwen.com