C++静态分析预处理技术及其支持工具的研究与实现

来源 :北京航空航天大学 | 被引量 : 0次 | 上传用户:caijunever
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
C/C++源代码静态分析器设计中的一个关键的问题是如何处理源程序中的预处理指令.由于复杂性的关系,C/C++源代码静态分析往往绕过预处理.有些静态分析器采用某种模糊分析等方法,略过预处理指令或者只分析预处理语言的子集.另一些静态分析器则要求其输入源代码事先经过预处理.前者分析精度较低,且静态分析可能受到预处理错误的干扰.后者虽然保证了静态分析器的输入是"纯正的"C++程序,但是却丢失了与预处理指令有关的那部分源代码信息.该文首先研究了国内外常见的静态分析预处理方法,并对这些方法的优缺点进行了比较.该文对C++标准的预处理过程和功能进行了界定,并针对microSoft Visual C++的特有的词法和预处理规则进行了讨论.该文描述一个与语法分析器松散耦合的预处理类库.利用该类库,预处理构件可以准确地提取程序中有关预处理的各种信息,同时保证了为语法分析器输送经过预处理的、符合C++文法的程序代码.此外,编译系统的头文件包含关系复杂、规模庞大,该文对于如何提高这类头文件的静态分析效率进行较深入的探讨.最后,对论文的研究工作进行了总结,同时也指出了今后的改进设想.
其他文献
随着信息技术的不断进步,社会上的各行各业都在充分利用计算机应用系统的功能来帮助处理日常事务,提高工作效率。本文针对当前各大高校数字化校园的发展现状,以及在这个发展过程
现实世界中随机性与模糊性无处不在,无论在日常生活中还是在工程技术、生命科学、经济管理等领域。模糊集理论作为经典集合论的推广,可以用来表示人类知识中大量存在的模糊性概
Internet电话系统中的业务创建和配置比传统电话系统要复杂,业务种类的定制和增加也更为快捷和灵活。因此,在业务不断增加的过程中,业务冲突与业务发展之间的矛盾日益突出,并
随着网络信息的高速增长,为了解决信息过载和信息迷航所带来的种种问题,个性化服务已经成为信息领域研究的热点之一。个性化服务针对不同的用户采取不同的服务策略,提供不同
  本文论述了课堂教学评价的数学模型。  首先,提出用试卷评价方法进行课堂教学评价指标体系的合理性进行分析,提出指标达标的难度、区分度、效度和信度。指标体系评价结果
脉冲耦合神经网络是新一代人工神经网络,具有较好的鲁棒性和自适应能力。本文应用PCNN模型,将神经元与图像像素一一对应,根据织物疵点区域纹理与正常织物纹理的灰度强度和分布差
数据挖掘面临着许多问题的挑战.其中,数据挖掘的个人隐私与信息安全问题尤其得到关注.如何在不暴露用户敏感信息的前提下进行数据挖掘,一直是人们感兴趣的课题.问题的解决对
粗糙集理论是研究不完整、不确定问题的一种有效的方法,它具有不需要先验知识,忠实于原始数据的优点。在数据挖掘与数据库知识发现领域,粗糙集理论与方法已经得到了大量成功的应
数据库技术已经从原始的数据处理,发展到开发具有查询和事务处理能力的数据库管理系统。进一步的发展导致越来越需要有效的数据分析和数据理解工具。粗糙集理论正是一种处理不
相对于万维网(WWW)上的海量数据而言,个人阅读和理解信息的能力非常有限,人们很难获得他们所期望的知识,此即“信息爆炸”问题。为了解决这个问题,人们提出了很多技术来帮助用户