首页> 中文学位 >C/C++安全检查工具中抽象语法树的设计与实现
【6h】

C/C++安全检查工具中抽象语法树的设计与实现

代理获取

目录

文摘

英文文摘

第一章 绪论

1.1 研究背景

1.1.1 C/C++语言及其程序安全

1.1.2 静态安全检查的现状

1.2 C/C++安全检查工具概述

1.3 本文工作及内容组织

第二章 ANTLR中抽象语法树的实现

2.1 抽象语法树概述

2.2 抽象语法树实现方法对比

2.3 ANTLR概述

2.3.1 ANTLR中抽象语法树的存储结构

2.3.2 ANTLR中抽象语法树的构建

2.3.3 ANTLR中树结点的管理机制

2.3.4 ANTLR中抽象语法树的遍历

2.4 本章小结

第三章 抽象语法树的设计

3.1 抽象语法树的设计

3.2 抽象语法树中树型结构的设计

3.2.1 表达式的抽象语法树结构

3.2.2 变量声明的抽象语法树结构

3.2.3 语句的抽象语法树结构

3.3 抽象语法树中结点类的设计

3.4 本章小结

第四章 成员函数抽象语法树的构建和抽象语法树的实例化

4.1 定义在类体内的成员函数抽象语法树的构建

4.2 抽象语法树的实例化

4.2.1 函数模板和抽象语法树的实例化

4.2.2 非成员函数模板对应抽象语法树的实例化

4.2.3 成员函数模板对应抽象语法树的实例化

4.3 本章小结

第五章 抽象语法树在安全检查工具中的应用

5.1 在安全检查工具前端中的使用

5.1.1 数组下标值的推断

5.1.2 表达式类型计算

5.2 switch语句安全漏洞检查

5.3 本章小结

第六章 结束语

致谢

参考文献

在校期间研究成果

展开▼

摘要

本文所做工作是科研课题“C/C++软件安全检查工具”的一部分。根据该课题的实际要求,本文在充分研究C/C++语法结构的基础上,主要做了以下工作:首先,基于分析器自动生成工具ANTLR提供的抽象语法树自动生成机制,设计了C/C++程序抽象语法树的树型结构,并设计与实现了结点类,通过使用该树型结构和结点类,可以为安全检查工具中其他模块提供所需要的抽象语法树信息;其次,为了使构建的抽象语法树携带的信息准确、完整,本文还提出了类体内定义的成员函数的函数体抽象语法树的构建方法以及函数模板实例对应的抽象语法树的构建方法。
   最后,本文结合ANTLR提供的抽象语法树遍历框架自动生成机制,给出了利用抽象语法树进行安全检查工具前端信息收集以及后端switch语句安全漏洞检查的具体方法。实践证明抽象语法树的设计能够满足安全漏洞检查的需要。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号