C++静态分析预处理技术及其支持工具的研究与实现
文献类型 | 学位 |
作者 | 尚卫东[1] |
机构 | 北京航空航天大学 ↓ |
授予学位 | 硕士 |
年度 | 2004 |
学位授予单位 | 北京航空航天大学 |
语言 | 中文 |
关键词 | 软件测试;C++预处理;ANTLR;静态分析优化技术 |
摘要 | C/C++源代码静态分析器设计中的一个关键的问题是如何处理源程序中的预处理指令.由于复杂性的关系,C/C++源代码静态分析往往绕过预处理.有些静态分析器采用某种模糊分析等方法,略过预处理指令或者只分析预处理语言的子集.另一些静态分析器则要求其输入源代码事先经过预处理.前者分析精度较低,且静态分析可能受到预处理错误的干扰.后者虽然保证了静态分析器的输入是"纯正的"C++程序,但是却丢失了与预处理指令有关的那部分源代码信息.该文首先研究了国内外常见的静态分析预处理方法,并对这些方法的优缺点进行了比较.该文对C++标准的预处理过程和功能进行了界定,并针对microSoft Visual C++的特有的词法和预处理规则进行了讨论.该文描述一个与语法分析器松散耦合的预处理类库.利用该类库,预处理构件可以准确地提取程序中有关预处理的各种信息,同时保证了为语法分析器输送经过预处理的、符合C++文法的程序代码.此外,编译系统的头文件包含关系复杂、规模庞大,该文对于如何提高这类头文件的静态分析效率进行较深入的探讨.最后,对论文的研究工作进行了总结,同时也指出了今后的改进设想. |
影响因子:
dc:title:C++静态分析预处理技术及其支持工具的研究与实现
dc:creator:尚卫东
dc:date: publishDate:1753-01-01
dc:type:学位
dc:format: Media:北京航空航天大学
dc:identifier: LnterrelatedLiterature:北京航空航天大学.2004.
dc:identifier:DOI:
dc: identifier:ISBN: