首页--工业技术论文--自动化技术、计算机技术论文--计算技术、计算机技术论文--计算机软件论文--程序设计、软件工程论文--软件工程论文

基于LLVM中间表示的缺陷静态分析工具实现

摘要第4-5页
ABSTRACT第5-6页
第一章 引言第9-13页
    1.1 背景知识第9-11页
        1.1.1 软件测试第9-10页
        1.1.2 程序分析第10页
        1.1.3 软件形式化证明第10-11页
    1.2 相关工作第11-12页
    1.3 本文主要工作和贡献第12页
    1.4 论文结构第12-13页
第二章 程序静态分析关键技术和论文平台介绍第13-23页
    2.1 静态分析关键技术第13-18页
        2.1.1 控制流分析第13-14页
        2.1.2 数据流分析第14-15页
        2.1.3 污点分析第15-16页
        2.1.4 符号执行第16-18页
        2.1.5 模型检测第18页
        2.1.6 定理证明第18页
    2.2 LLVM编译器介绍第18-21页
        2.2.1 LLVM编译器架构第18-19页
        2.2.2 LLVM IR中间表示第19-21页
    2.3 Z3求解器第21页
    2.4 程序缺陷介绍第21-22页
    2.5 本章小结第22-23页
第三章 MLSA系统设计第23-32页
    3.1 MLSA框架第23-25页
    3.2 LLVM IR信息提取第25-27页
        3.2.1 全局变量的处理第26页
        3.2.2 函数调用关系的存储第26页
        3.2.3 基本块跳转关系的处理第26-27页
    3.3 LLVM IR指令的处理第27-30页
        3.3.1 符号处理第27-29页
        3.3.2 过程内分析第29页
        3.3.3 过程间分析第29-30页
    3.4 缺陷检测第30-31页
        3.4.1 将符号信息转化为Z3 SMT输入格式第30页
        3.4.2 缺陷检测和定位至源代码第30-31页
    3.5 本章小结第31-32页
第四章 MLSA系统实现第32-40页
    4.1 LLVM Pass第32-33页
    4.2 函数调用图和基本块跳转图实现第33-34页
    4.3 符号执行实现和SMT求解实现第34-39页
    4.4 系统概况第39页
    4.5 本章小结第39-40页
第五章 实验和评估第40-51页
    5.1 实验准备第40页
        5.1.1 实验平台第40页
        5.1.2 前期处理第40页
    5.2 程序缺陷检测实验第40-50页
        5.2.1 除零检测第41-42页
        5.2.2 指针越界访问第42-43页
        5.2.3 死代码检测第43-44页
        5.2.4 对于Fortran语言的初步检测第44-45页
        5.2.5 对GUN Coreutils的检测第45-48页
        5.2.6 实验对比第48-50页
    5.3 实验结论第50页
    5.4 本章小结第50-51页
第六章 总结与展望第51-52页
    6.1 总结第51页
    6.2 未来工作与展望第51-52页
引用文献第52-54页
致谢第54-55页
攻读学位期间发表的学术论文第55页

论文共55页,点击 下载论文
上一篇:一种改进的关联规则算法研究与应用
下一篇:参与式感知环境下轨迹数据的研究与实现