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

C/C++多线程程序并发访存问题的软件分析研究

摘要第4-5页
ABSTRACT第5-6页
第一章 绪论第10-16页
    1.1 研究背景第10页
    1.2 研究现状第10-12页
    1.3 论文主要工作第12-13页
    1.4 论文的组织结构第13-16页
第二章 多线程访存问题与相关检测技术介绍第16-20页
    2.1 多线程访存问题背景第16页
        2.1.1 线程与多线程计算第16页
        2.1.2 多线程访存问题第16页
    2.2 程序分析相关技术第16-17页
        2.2.1 静态分析介绍第16-17页
        2.2.2 动态分析介绍第17页
    2.3 LLVM底层虚拟机背景简介第17-18页
        2.3.1 LLVM中间表达式简介第17-18页
        2.3.2 LLVM优化遍历系统简介第18页
    2.4 Clang与Clang静态检测框架背景简介第18-19页
    2.5 本章小结第19-20页
第三章 多线程访存问题的静态检测框架设计第20-38页
    3.1 设计需求第20-21页
    3.2 研究目标和内容第21页
        3.2.1 研究目标第21页
        3.2.2 本文的创新之处第21页
    3.3 多线程访存问题分类及检测器设计第21-33页
        3.3.1 不可重入库函数中潜在的数据竞争第22-23页
        3.3.2 因为不正确使用位段而导致的数据竞争第23-25页
        3.3.3 在线程阻塞期间销毁互斥锁第25-27页
        3.3.4 在多线程环境下调用signal()函数第27-28页
        3.3.5 在一个表达式中引用多个原子变量第28-29页
        3.3.6 在某一个线程被join后继续对该线程进行join操作第29-30页
        3.3.7 线程共享内存对象声明时中使用不正当的存储修饰符第30页
        3.3.8 及时释放线程特定存储第30-31页
        3.3.9 在多线程环境中正确使用变长数组成员第31页
        3.3.10 在多线程环境依赖求值顺序来求值第31-33页
    3.4 系统设计第33-36页
        3.4.1 检测器命名第33-34页
        3.4.2 黑/白名单过滤系统设计第34-36页
    3.5 本章小结第36-38页
第四章 多线程访存问题的动态检测工具设计第38-46页
    4.1 设计需求第38页
    4.2 设计目标第38页
    4.3 基于伙伴内存分配器的元数据存储方式第38-40页
        4.3.1 定义第39页
        4.3.2 内存布局第39-40页
    4.4 内存布局第40页
    4.5 算法设计第40-44页
        4.5.1 内存对象的分配与释放第40页
        4.5.2 访存检查算法第40-41页
        4.5.3 内存访问第41-44页
    4.6 本章小结第44-46页
第五章 多线程访存问题检测框架的实现与性能分析第46-52页
    5.1 静态检测系统实现第46-47页
        5.1.1 设计原则第46页
        5.1.2 系统结构第46-47页
        5.1.3 检测方式第47页
    5.2 动态检测系统实现第47-49页
    5.3 准确性评估第49页
    5.4 性能评估第49-51页
        5.4.1 改编后的Olden基准测试第50页
        5.4.2 算法性能评估第50-51页
    5.5 本章小结第51-52页
第六章 结束语第52-54页
    6.1 论文总结第52页
    6.2 下一步的研究工作第52-54页
参考文献第54-60页
致谢第60-62页
攻读学位期间发表的学术论文第62页

论文共62页,点击 下载论文
上一篇:基于卷积神经网络的虚假评论识别技术的研究
下一篇:开放式微服务框架的设计与应用