当前位置:主页 > 科技论文 > 软件论文 >

多线程程序并发错误检测与重放系统研究

发布时间:2020-05-14 14:36
【摘要】:当下,计算机技术飞速发展,计算机并发体系结构已成为主流。为使并发体系结构的性能得到充分发挥,多线程编程思想应运而生。但是由于多线程程序运行的不确定性,导致编程人员在编程和调试阶段需要耗费大量的时间和精力,严重制约了多线程编程技术的发展。因此,研究如何检测并发错误,研究高效、快速的应用程序重放机制对多线程编程技术的发展有着重要的意义。在近些年,关于并发程序执行不确定性的研究吸引了国内外高校和研究机构的众多学者,在这方面也取得了许多成果。现有的研究主要体现在以下几个层面:设计开发并行编程语言,或对现有语言进行扩展,令其能够确定性的执行并发程序;使用确定性重放,使得程序能够重现上次运行的顺序和结果;向计算机中增加额外的硬件或修改原有的体系结构,从底层硬件级别实现并发程序执行的确定性。本文主要针对导致多线程程序执行不确定性的主要因素--原子性违例,提出了一种基于线程交互不变量的原子性违例错误并发检测算法。该算法首先利用二进制插桩平台Pin提取程序的原始踪迹并去除冗余,并利用基于无序映射的散列表对踪迹进行分类;然后用栈提取的线程交互不变量标记线程交互,并利用多进程技术实现算法的并发;最后通过实验,比较和分析了错误检测算法的效率和有效性。除了错误检测外,本文还实现了基于线程切换点的确定性重放系统,用以解决多线程程序难以重现上次运行顺序和执行结果的难题。与错误检测算法相配合,能够有效避免错误的发生。
【图文】:

架构图,架构,插桩


运行代码(Runtime code),即它能够模拟运行程序,并允许用户的任意语句进行控制或修改[42]。DynamoRIO 可以运行在 Wind 操作系统上。如图 2-6 所示为 DynamoRIO 的设计架构。in 是 Intel 开发的二进制程序插桩工具,如图 2-7 所示为 Intel Pin Android,LinuxOSX 和 Windows 操作系统,并可以在 IA-32,Inl(R)多核架构上运行。由 Pin 编写的插桩工具在可执行文件中的任意代码(C 或 C++)。它支持可执行文件运行时代码动态添加。以附加到已运行的进程上。Pin 提供了丰富的 API 接口,并且包含插桩工具的源代码,可以很容易地以此为模板,开发符合自己要工具[43]。in 使用动态编译的方法插入探测代码,配合使用函数内联、寄存器度等优化方法,使得基于 Pin 开发的动态二进制插桩工具具有较。例如,统计程序执行的基本块数量时,使用 Pin 平台的速度比 倍,比 DynamoRIO 快 2 倍。基于 Pin 开发的动态二进制分析插件(p桩操作时不会影响被分析程序的内存和寄存器状态以及程序的执析程序来说具有透明性[41]。

架构图,架构,确定性,阶段


图2-7 Intel Pin工具的架构Fig. 2-7 The architecture of Pin tools.以上特点,本文最终选择使用了 DBI 技术的 Pin 二进制插桩制分析的基础平台。线程程序确定性重放技术于多线程程序在运行时具有不确定性,,其不确定性主要体现在确定性。程序员在编写多线程程序编程时,可能出现的 bug 数的增加而增加,这将给程序员进行并发程序的编写和调试工困难。因此,研究并实现多核程序的确定性重放(deterministi重要的现实意义。定性重放系统按照重放的方式分为两种,分别是在线(on-linene)两种。当记录阶段与重放阶段同时执行时,就是在线方式,理方面。当先由记录阶段记录日志,然后重放阶段根据日志重方式,主要针对于对应用程序的纠错和调试方面。确定性重放
【学位授予单位】:哈尔滨理工大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.1

【参考文献】

相关期刊论文 前6条

1 苏小红;禹振;王甜甜;马培军;;并发缺陷暴露、检测与规避研究综述[J];计算机学报;2015年11期

2 朱素霞;季振洲;李东;;面向多核处理器的内存竞争记录研究综述[J];智能计算机与应用;2013年03期

3 胡敏;陈雨亭;;基于距离挖掘的多变量原子性违例检测[J];计算机工程;2012年13期

4 杨振兴;刘久富;孙琳;;不变量的程序潜在错误预测[J];智能系统学报;2010年04期

5 何永君;舒辉;熊小兵;;基于动态二进制分析的网络协议逆向解析[J];计算机工程;2010年09期

6 马如林;蒋华;张庆霞;;一种哈希表快速查找的改进方法[J];计算机工程与科学;2008年09期

相关博士学位论文 前1条

1 陈宇飞;可伸缩的确定性重放技术研究[D];复旦大学;2014年

相关硕士学位论文 前2条

1 王乾;基于动态二进制分析的关键函数定位技术研究[D];解放军信息工程大学;2012年

2 胡敏;对涉及到多变量的原子性违例错误的动态检测[D];上海交通大学;2012年



本文编号:2663498

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2663498.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户1c96f***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com