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

来源 :北京邮电大学 | 被引量 : 8次 | 上传用户:zhuxuchen0822
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着支持多核功能的中央处理器的大规模应用,为了更高效地利用系统资源,并行化的程序得以广泛的传播与部署。然而,由于并行化所带来的多线程并发内存访问问题,给软件的鲁棒性带来了严重威胁。现有的多线程访存问题分析方法分为静态检测和动态加固两种:现有静态检测方案存在分析开销高和分析精度低的缺点;现有动态加固方案存在运行时检测开销高的缺点。两种方法的实用性都无法有效面对数量日益增长的多线程程序访存问题。针对上述问题,本文提出了一种新颖的C/C++程序多线程并发访存问题的检测的解决方案,该方案结合了静态检测与动态加固的优点,极大的降低了分析所需的开销。本文开展了如下的研究工作:(1)对C/C++多线程内存访问问题的实际问题进行了系统分类,将多线程访存问题分为十类;(2)对每一类问题设计了相应的静态检测方案;(3)设计并实现了针对多线程访存问题的静态检测框架;(4)研究多线程访存问题的动态线程安全加固技术,在内存分配器上改善了原有的元数据存储方案,提出了一套新的多线程内存访问动态检测方案(5)实现动态检测工具并分析本文提出算法的准确率与性能。为评估该方案的性能,本文在LLVM编译框架上实现了该方案。实验结果表明,本文所提出的方案在正确率指标和性能开销指标上有明显优势,本文提出的静态检测方法可以正确检测出CERT与CWE中所有与多线程访存问题相关的条目,本文提出的动态检测工具在Olden基准测试集上达到了约2x的性能开销。
其他文献
【目的】研究595nm脉冲染料激光(PDL)和1064nm长脉冲掺钕钇石榴石激光(Nd:YAG)对皮肤毛细血管瘤的动物模型—鸡冠的影响,研究激光处理前后鸡冠的大体外观变化、组织中毛细血
水平定向钻穿越施工是管道穿越工程的一种主要施工形式,在施工中由于地质条件、设备使用和穿越工艺选择等原因使其存在风险,因此有必要对其失效可能性进行研究。建立了包含“人
子宫颈功能不全或称子宫颈内口松弛症,是发生中期妊娠习惯性流产的重要原因之一^[1]。主要是由于先天发育不全和后天损伤所致。宫颈环扎术常用于矫正妊娠期子宫颈机能不全的患
通过对设计定型阶段复制的样件进行全性能测试、制动测试、破坏性测试、耐久性测试、相关件的强度试验和分析后证明,采用增加制动器制动力矩的技术方案,完全能达到GB200732006
降低信号的峰均功率比(PAPR)是正交频分复用(OFDM)技术的一个关键问题。μ律压扩法作为降低鲋职的一个重要方法,其非线性的特点难于在硬件上实现。在传统的弘律压扩方法基础上,介绍
在高中数学课堂中,学生学习的“执行力”是指他们在对数学知识进行探索和思考的主动学习能力,是通过学生对学习的自主性和积极性来体现的。高中数学课堂中对学生学习能力和创造
民以食为天。如果人们日常食用的果蔬残留大量的农药,只能选择不食用果蔬,或者是食用有毒的果蔬造成身体器官病变甚至死亡。果蔬农药残留危害着人类的身体健康,但是我国为了
传统的旅行社(即)已被最初发现发挥旅游服务商与旅客之间的中介作用。但技术的广泛扩散及其在旅游领域的应用提供了旅客通过这些塔塔各种替代预订。旅行者现在可以安排和预订
目的观察几种不同的缺血后处理(IPC)方式对大鼠缺血再灌注(I/R)后神经损伤影响,为缺血性脑损伤的保护策略提供依据。方法sD大鼠随机分为6组,分别为假手术组、大脑中动脉I/R模型组I/R、
8月2日,云南锡业股份有限公司(锡业股份,000960)公布了2011年半年度报告。2011年上半年实现营业收入63.57亿元,同比增加40.27%:归属上市公司的净利润3.54亿元,同比增加92.98%:每股收益0.3910