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

C++应用程序缺陷检测技术研究与实现

摘要第5-6页
ABSTRACT第6-7页
第一章 绪论第11-19页
    1.1 课题研究背景与意义第11-12页
    1.2 相关工作第12-16页
        1.2.1 C++应用程序缺陷类型第12-13页
        1.2.2 C++应用程序缺陷检测方法第13-15页
        1.2.3 应用程序插桩技术第15-16页
    1.3 研究内容第16-17页
    1.4 论文结构第17-19页
第二章 动态二进制插桩平台第19-31页
    2.1 主流二进制插桩平台第19-27页
        2.1.1 Valgrind第19-21页
        2.1.2 Dyninst第21-22页
        2.1.3 DynamoRIO第22-24页
        2.1.4 Pin第24-27页
    2.2 主流二进制插桩平台比较第27页
    2.3 Pin插桩工具及其应用第27-30页
        2.3.1 编写主函数第27-29页
        2.3.2 编写回调函数第29-30页
    2.4 本章小结第30-31页
第三章 针对C++应用程序缺陷检测的关键技术第31-43页
    3.1 针对C++应用程序内存空间的影子内存设计第31-37页
        3.1.1 传统影子内存设计方案第31-32页
        3.1.2 基于组合映射的高效影子内存设计方案第32-36页
        3.1.3 影子内存设计方案比较第36-37页
    3.2 动态插桩检测技术第37-39页
        3.2.1 动态插桩检测原理第37页
        3.2.2 针对C++应用程序缺陷检测的插桩方案设计第37-39页
    3.3 针对内存管理缺陷检测的内存申请/释放操作跟踪技术第39-40页
        3.3.1 内存申请操作跟踪技术第39-40页
        3.3.2 内存释放操作跟踪技术第40页
    3.4 本章小结第40-43页
第四章 针对内存管理缺陷和缓冲区溢出缺陷的检测方案设计第43-57页
    4.1 内存管理缺陷检测方案设计第43-49页
        4.1.1 内存管理缺陷第43-45页
        4.1.2 基于内存块可达性分析的内存泄漏检测方案设计第45-48页
        4.1.3 内存错误释放检测方案设计第48-49页
    4.2 缓冲区溢出缺陷检测方案设计第49-55页
        4.2.1 缓冲区溢出缺陷第50-52页
        4.2.2 基于地址可访问判定的堆缓冲区溢出检测方案设计第52页
        4.2.3 基于局部变量边界映射的栈缓冲区溢出检测方案设计第52-53页
        4.2.4 危险库函数使用不当缓冲区溢出检测方案设计第53-55页
    4.3 本章小结第55-57页
第五章 C++应用程序缺陷检测工具的实现与实验分析第57-73页
    5.1 工具整体架构第57-58页
    5.2 工具模块设计与实现第58-64页
        5.2.1 插桩分析模块第58-59页
        5.2.2 函数调用跟踪模块第59页
        5.2.3 影子内存管理模块第59-63页
        5.2.4 缺陷报告输出模块第63-64页
    5.3 实验分析第64-71页
        5.3.1 工具部署运行第64-68页
        5.3.2 运行开销测试第68-70页
        5.3.3 检测准确性测试第70-71页
    5.4 本章小结第71-73页
第六章 总结与展望第73-77页
    6.1 课题总结第73-74页
    6.2 课题展望第74-77页
参考文献第77-81页
附录第81-89页
致谢第89-91页
攻读硕士期间发表的学术论文目录第91页

论文共91页,点击 下载论文
上一篇:基于抽象语法树的代码静态缺陷检测工具开发
下一篇:基于矩阵分解的评分推荐研究