【摘 要】
:
随着多核处理器在现在计算机设备中的流行,软件中使用多线程和并发程序的程度也随之增加。多线程程序给我们带来的好处是程序的运行效率得到了很大的提升,但是由于多线程程序的不确定性,在程序运行过程中难免会出现数据竞争、原子性违背等并发问题,这些问题不容易被发现和修复,一旦在生产运行中暴露了,可能会带来极大的损失。由于大部分的并发问题根本原因是数据竞争,因此对于数据竞争的检测是十分必要的。针对以上问题,本文
论文部分内容阅读
随着多核处理器在现在计算机设备中的流行,软件中使用多线程和并发程序的程度也随之增加。多线程程序给我们带来的好处是程序的运行效率得到了很大的提升,但是由于多线程程序的不确定性,在程序运行过程中难免会出现数据竞争、原子性违背等并发问题,这些问题不容易被发现和修复,一旦在生产运行中暴露了,可能会带来极大的损失。由于大部分的并发问题根本原因是数据竞争,因此对于数据竞争的检测是十分必要的。针对以上问题,本文提出了一种多线程程序数据竞争静态检测方法。使用LLVM/Clang编译技术对源代码进行信息采集,提取出多线程源代码中的变量、函数、表达式、语句等信息,通过对信息的预处理将源码信息和编程环境的配置文件信息进行整合,最终构建出XML读写模型;采用基于深度优先遍历的方法对XML读写模型进行搜索空间的构建,模拟在多线程程序运行时调度生成的所有路径信息;根据数据竞争产生条件构建出竞争序列模型并对竞争序列模型进行分类,对于每一条路径,采用一种竞争序列模型匹配算法,获取发生数据竞争的所有可疑序列;最后针对所有可疑的数据竞争序列,结合用户标注信息,提出一个基于用户可接受度的竞争结果分析方法,对数据竞争结果进行过滤,提高了数据竞争静态检测的准确度。本文基于以上数据竞争静态检测模型的研究,开发了一个数据竞争静态检测工具Detector,使用该工具对嵌入式平台C6678多个缺陷源代码进行检测,结果表明Detector能够很好的检测源代码的数据竞争问题,符合用户的个性化需求。与数据竞争检测工具Thread Sanitizer进行对比,实验结果表明Detector检测的竞争报告的可读性比较强,并且考虑到了用户对某些竞争序列的可接受度,降低了数据竞争检测的误报。
其他文献
螺旋桨唱音是一种特殊的噪声现象,当唱音现象产生时,会使得螺旋桨的噪声声级提升8-10分贝,且这一提升区间多处于几百至2000Hz频率处,该频率为水声设备监测最为敏感的频段,因此将会极大影响军事舰艇的声隐身能力,增大舰艇被监测到的风险。唱音现象的另一特点为隐蔽性较强,在设计阶段通常难以发现,往往是投入使用后发现存在唱音现象,增加了螺旋桨回场返修的费用,对船舶经济性产生影响。目前,对于出现唱音现象的解
当前我国正在经历“大众创业、万众创新”的“双创”新浪潮,创业作为促进国民经济增长、提高民众创新能力、缓解严峻就业压力的“利器”,自然而然受到社会各界的密切关注。大学生作为国家未来发展的青年骨干力量,如何通过高等教育提高其创新创业能力,对我国发展成“创新型国家”具有重大的现实意义。创业意向是预测创业行为的最好指标,研究通过何种创业教育方式可以有针对性地提高大学生的创业意向显然尤为重要。而高等教育的主
随着人们环保意识的增强及资源的日益枯竭,以可再生、可降解生物质资源为原料制备的绿色复合材料受到了科学界和工业界的广泛关注。丝瓜络纤维作为一种资源丰富、结构优良的天然植物纤维材料,在填充材料领域具有很大的应用潜力。本文以废弃的丝瓜络边角料为基体,绿色环保的EVA树脂和低熔点聚酯纤维为胶黏剂,采用工艺简洁的低温热压法制备出了一种绿色环保,质地均匀且性能良好的丝瓜络复合填充材料,并对其压缩力学性能、声学
家族与姻族文化是清代词派发展的重要源泉:柳洲词派的运行源自钱、魏、曹、柯四大家族的合力;阳羡词派品格的形成源自陈维崧家族文化的濡染;吴中词派的持续多赖潘氏家族文化的影响;常州张氏家族文化不惟催生了常州词派,而且成为整个常州地域文化的重要组成部分;文化家族的联姻更为诸词派的壮大提供了广阔的良性空间。