摘要 | 第1-4页 |
ABSTRACT | 第4-7页 |
第一章 绪论 | 第7-13页 |
·研究背景 | 第7-9页 |
·程序分析和安全检查 | 第7-8页 |
·相关工作 | 第8-9页 |
·软件安全检查工具概述 | 第9-11页 |
·本文工作及内容组织 | 第11-13页 |
第二章 ANTLR与软件安全检查工具前端 | 第13-23页 |
·词法分析器 | 第13页 |
·语法分析器 | 第13-14页 |
·分析器自动生成工具ANTLR概述 | 第14-16页 |
·使用ANTLR设计软件安全检查工具前端 | 第16-18页 |
·设计和实现软件安全检查工具前端的意义 | 第17页 |
·ANTLR在构造前端中的作用 | 第17-18页 |
·ANTLR提供的C/C++语言文法 | 第18-21页 |
·文法和产生式 | 第18-19页 |
·语法分析规则 | 第19-21页 |
·本章小结 | 第21-23页 |
第三章 符号表的建立 | 第23-45页 |
·符号表概述 | 第23-24页 |
·C、C++语言非模板部分符号表的建立 | 第24-36页 |
·external_declaration与member declaration语义处理相似的部分 | 第24-30页 |
·external_declaration语义处理独有的部分 | 第30-34页 |
·member_declaration语义处理独有的部分 | 第34-36页 |
·C++语言模板部分符号表的建立 | 第36-44页 |
·模板头的处理 | 第36-38页 |
·函数模板符号表的建立 | 第38-40页 |
·类模板符号表的建立 | 第40-44页 |
·本章小结 | 第44-45页 |
第四章 抽象语法树的生成 | 第45-49页 |
·ANTLR中的抽象语法树概述 | 第45-47页 |
·ANTLR中的抽象语法树的表示方法 | 第45-46页 |
·ANTLR中的抽象语法树的结构框架 | 第46-47页 |
·ANTLR中的抽象语法树的生成 | 第47-48页 |
·本章小结 | 第48-49页 |
第五章 与内存资源相关的安全漏洞检查 | 第49-61页 |
·与内存资源相关的安全漏洞表现形式 | 第49-52页 |
·释放未指向堆空间的指针 | 第49-50页 |
·重复释放指针指向的空间 | 第50-51页 |
·申请与释放资源的操作未配对使用 | 第51-52页 |
·与内存资源相关的安全漏洞检查方法 | 第52-58页 |
·在抽象语法树规则中添加语义动作 | 第53-57页 |
·在语法分析规则中添加语义动作 | 第57-58页 |
·在符号表模块文件中的处理 | 第58页 |
·综合实例分析 | 第58-60页 |
·本章小结 | 第60-61页 |
第六章 结束语 | 第61-63页 |
致谢 | 第63-65页 |
参考文献 | 第65-67页 |
在校期间研究成果 | 第67页 |