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

C程序静态分析与错误检测

摘要第5-7页
ABSTRACT第7-8页
目录第9-12页
表格索引第12-13页
插图索引第13-14页
算法索引第14-15页
第一章 简介第15-21页
    1.1 程序的正确性第15页
    1.2 程序正确性证明第15页
    1.3 程序的错误检测第15-17页
        1.3.1 软件测试第16页
        1.3.2 程序分析第16-17页
    1.4 C程序应用的广泛及重要性第17-18页
    1.5 研究内容及贡献第18-19页
        1.5.1 C程序内存泄漏检测第18-19页
        1.5.2 基于函数摘要的多错误检测框架第19页
        1.5.3 面向符号执行的约束求解优化第19页
    1.6 论文组织第19-21页
第二章 背景介绍第21-31页
    2.1 静态程序分析第21-28页
        2.1.1 控制流图第21页
        2.1.2 数据流分析第21-23页
        2.1.3 符号执行第23-25页
        2.1.4 敏感性分析第25-28页
    2.2 C程序的错误模式第28-29页
        2.2.1 未定义的行为第28-29页
        2.2.2 常见错误模式第29页
    2.3 本章小结第29-31页
第三章 内存泄漏的自动化检测第31-65页
    3.1 简介第31-33页
    3.2 相关工作第33-38页
    3.3 动机和示例第38-42页
        3.3.1 内存行为第39-41页
        3.3.2 结合路径敏感性的例子第41-42页
    3.4 基于内存状态转移图的内存泄漏检测第42-55页
        3.4.1 算法框架第42页
        3.4.2 过程内分析第42-50页
        3.4.3 过程间分析第50-53页
        3.4.4 示例第53-54页
        3.4.5 本方法的优势及潜在的优化第54-55页
    3.5 具体实现第55-57页
        3.5.1 Clang Static Analyzer概述第55页
        3.5.2 内存泄漏检测器第55-56页
        3.5.3 错误报告生成器第56-57页
    3.6 实验结果第57-64页
        3.6.1 已检测到的内存泄漏第57-60页
        3.6.2 与其他工具的比较第60-64页
    3.7 本章小结第64-65页
第四章 支持多错误检测的C程序静态分析框架第65-89页
    4.1 简介第65-66页
    4.2 示例第66-67页
    4.3 框架概述第67-69页
        4.3.1 系统架构第67-68页
        4.3.2 错误检测器第68-69页
        4.3.3 框架整体算法第69页
    4.4 基于区域的过程内分析第69-73页
        4.4.1 抽象区域第70-71页
        4.4.2 抽象值第71页
        4.4.3 存储,环境和约束守卫第71-73页
        4.4.4 程序状态第73页
    4.5 过程间符号执行第73-82页
        4.5.1 基于函数摘要的分析第73-81页
        4.5.2 基于内联的过程间分析第81-82页
    4.6 实验结果第82-86页
        4.6.1 实验基准程序第83页
        4.6.2 RQ1:错误检测能力第83-84页
        4.6.3 RQ2:过程间分析的比较第84-85页
        4.6.4 RQ3:与Saturn的比较第85-86页
    4.7 相关工作第86-87页
        4.7.1 基于函数摘要的静态错误检测第86页
        4.7.2 基于内联的程序错误检测第86-87页
        4.7.3 模块化的指针分析第87页
        4.7.4 一般性的模块化分析第87页
    4.8 本章小节第87-89页
第五章 面向符号执行的轻量级约束求解框架第89-103页
    5.1 简介第89-90页
    5.2 基于赋值重用的约束求解优化第90-96页
        5.2.1 符号执行中的约束求解第90-92页
        5.2.2 全变量赋值重用第92-94页
        5.2.3 复杂约束变量赋值重用第94-95页
        5.2.4 算法复杂度比较第95-96页
    5.3 基于后验证的约束求解优化第96-100页
        5.3.1 约束求解器第97页
        5.3.2 基于后验证的约束求解第97-99页
        5.3.3 实验结果第99-100页
    5.4 相关工作第100-101页
    5.5 本章小结第101-103页
第六章 结束语第103-105页
    6.1 主要贡献第103页
    6.2 进一步工作第103-105页
        6.2.1 循环的分析第104页
        6.2.2 浮点数的分析第104页
        6.2.3 更多实验以及工具的改进第104-105页
参考文献第105-109页
致谢第109-111页
在读期间发表的学术论文与取得的研究成果第111页

论文共111页,点击 下载论文
上一篇:国学中心项目施工成本控制研究
下一篇:沈阳市公共网络信息安全管理系统实施方案研究