C/C++程序安全检查工具中数据流分析器的设计与实现

C/C++程序安全检查工具中数据流分析器的设计与实现

论文摘要

本文针对一个C/C++程序静态安全检查工具,设计与实现了其中的数据流分析器,该数据流分析器为安全检查工具收集安全检查时需要的数据流信息。本文首先阐述了数据流分析的基础理论,研究了传统的迭代数据流分析方法,在此基础上根据安全检查工具的实际需求,提出了一种基于控制流路径的数据流分析方法。其次,根据该方法设计与实现了一个数据流分析器,该数据流分析器以控制流图和抽象语法树为基础,搜索出控制流图中的控制流路径,沿着路径通过遍历抽象语法树以计算数据流信息;重点讨论了数据流分析器的整体工作流程、控制流路径的搜索以及数据流信息的计算。最后,本文讨论了一类具体的整型变量值分析的设计与实现,并利用其分析结果实现了数组越界检查。实验表明,该数据流分析方法是有效的。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景
  • 1.1.1 程序分析和静态检查
  • 1.1.2 静态安全检查相关工作
  • 1.1.3 数据流分析相关工作
  • 1.2 C/C++程序安全检查工具概述
  • 1.3 本文工作及内容组织
  • 1.3.1 本文的工作
  • 1.3.2 本文的内容组织
  • 第二章 相关工具技术和数据流分析基础
  • 2.1 相关工具和技术
  • 2.1.1 符号表
  • 2.1.2 ANTLR和抽象语法树
  • 2.1.3 控制流图
  • 2.1.4 函数依赖分析
  • 2.2 数据流分析技术
  • 2.2.1 数据流分析概述
  • 2.2.2 数据流方程
  • 2.2.3 迭代数据流分析方法
  • 2.3 本章小结
  • 第三章 数据流分析器的设计与实现
  • 3.1 整体数据流分析方案
  • 3.1.1 控制流路径
  • 3.1.2 基于控制流路径的数据流分析方法
  • 3.1.3 本文的数据流分析方案
  • 3.2 数据流分析器的整体设计
  • 3.3 路径管理模块的设计与实现
  • 3.3.1 路径管理模块中数据结构的设计
  • 3.3.2 控制流路径搜索算法
  • 3.4 数据流分析驱动模块的设计与实现
  • 3.4.1 DataFlowAnalyzer类的设计
  • 3.4.2 数据流分析驱动算法
  • 3.5 AST遍历模块的设计与实现
  • 3.5.1 抽象语法树遍历器的设计
  • 3.5.2 利用AST遍历器计算数据流信息
  • 3.6 数据流分析器的扩展
  • 3.7 本章小结
  • 第四章 整型变量值分析的设计与实现
  • 4.1 别名分析概述
  • 4.2 整型变量值分析概述
  • 4.3 整型变量值信息存储结构的设计
  • 4.4 整型变量值分析的实现
  • 4.4.1 全局整型变量值信息收集
  • 4.4.2 整型变量值信息传播
  • 4.4.3 获取符号条目
  • 4.4.4 表达式求值
  • 4.4.5 整型变量值信息更新
  • 4.4.6 跨过程整型变量值分析
  • 4.4.7 猜测整型变量值
  • 4.5 利用整型变量值信息进行数组越界检查
  • 4.6 本章小结
  • 第五章 实例分析
  • 第六章 结束语
  • 致谢
  • 参考文献
  • 相关论文文献

    • [1].表面生长碳纳米管对C/C复合材料钎焊接头的影响[J]. 机械工程学报 2020(08)
    • [2].C/C复合材料陶瓷功能涂层研究进展[J]. 航天制造技术 2020(05)
    • [3].C/C复合材料抗氧化涂层材料体系的研究进展[J]. 合成材料老化与应用 2017(01)
    • [4].多孔C/C材料发汗冷却实验研究[J]. 固体火箭技术 2015(01)
    • [5].固体火箭发动机C/C复合材料烧蚀试验技术研究[J]. 高科技纤维与应用 2020(04)
    • [6].基于C/C++的多核处理器设计[J]. 计算机时代 2015(09)
    • [7].C/C++循环嵌套教学实践[J]. 电脑知识与技术 2012(25)
    • [8].C/C++语言中的内存泄漏分析[J]. 民营科技 2012(09)
    • [9].C/C++语言中“&”运算符的用法[J]. 辽宁师专学报(自然科学版) 2011(03)
    • [10].2.5D-C/C复合材料的高温层间剪切强度[J]. 机械强度 2010(04)
    • [11].探讨C/C++语言中的数据类型[J]. 保山师专学报 2008(05)
    • [12].C/C++中常见内存泄漏与对策及预防措施浅析[J]. 科技资讯 2008(35)
    • [13].C/C复合材料钻削轴向力研究[J]. 航空制造技术 2015(15)
    • [14].C/C复合材料在高超声速飞行器中的应用[J]. 飞航导弹 2013(05)
    • [15].汇编语言与C/C++语言的混合编程[J]. 苏州市职业大学学报 2012(01)
    • [16].苯并噁嗪及其在制备C/C复合材料领域的研究进展[J]. 材料导报 2012(05)
    • [17].C/C++语言定时任务的实现方法和应用[J]. 有色金属加工 2010(03)
    • [18].不同预制体结构C/C复合材料轴向热力学性能分析[J]. 无机材料学报 2010(09)
    • [19].台湾地区高职教材《C/C++程序设计》编写特色及启示[J]. 计算机教育 2009(20)
    • [20].C/C复合材料的无损检测研究[J]. 材料导报 2008(S3)
    • [21].使用Visual Leak Detector检测c/c++程序内存泄漏[J]. 电脑与电信 2008(07)
    • [22].三维轴编C/C复合材料双向拉伸实验研究[J]. 固体火箭技术 2015(02)
    • [23].三向正交C/C复合材料弹性性能预测与分析[J]. 机械科学与技术 2013(12)
    • [24].高温热处理对C/C多孔体显微结构的影响[J]. 广东化工 2012(08)
    • [25].一种新的基于Adams与C/C++语言的模块化协同仿真模式[J]. 航天控制 2011(01)
    • [26].C/C复合材料致密化工艺的研究进展[J]. 材料导报 2008(05)
    • [27].快速制备不同预制体C/C复合材料摩擦学性能研究[J]. 固体火箭技术 2008(04)
    • [28].碳纳米管增强一维高导热C/C复合材料的微观结构与物理性能[J]. 武汉科技大学学报 2017(03)
    • [29].固体火箭发动机实验条件下基于拉瓦尔喷管变流道参数的4D编织C/C复合材料烧蚀性能(英文)[J]. 新型炭材料 2017(04)
    • [30].最终热处理温度对针刺无纬布C/C复合材料性能的影响[J]. 材料导报 2016(S1)

    标签:;  ;  ;  

    C/C++程序安全检查工具中数据流分析器的设计与实现
    下载Doc文档

    猜你喜欢