二进制翻译下的多线程Replay系统

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:jooey
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
调试对于提高软件的可靠性是必不可少的,不幸运的是多线程程序的调试非常困难。由于线程交互时的不确定因素,某些错误只在特定的执行序下出现,普通的循环调试方法几乎不可行。Replay系统被认为是调试多线程程序的有效工具,它在记录阶段记录下所有的非确定事件,然后在重放阶段重现这些事件从而使得错误能够确定性的出现。此外,Replay系统在错误容忍、入侵检测、程序分析和计算机系统结构研究等其他许多方面都有着重要的应用。   二进制翻译系统是一个动态编译系统,它自身的错误可能导致生成不正确的本地码,这使得二进制翻译系统下多线程程序的执行表现出随机的错误。本文在二进制翻译系统中通过对源输入程序的确定性重放来重现错误,并由出错的本地码找到相应的翻译器代码从而实现调试二进制翻译系统的目的。   本文的贡献如下:   1.设计了动态二进制翻译器平台下针对源输入程序的确定性Replay系统。该系统可用于调试二进制翻译器的多线程错误,相对于其他的纯软件Replay系统(例如PinPlay)本文系统具有较好的性能。   2.提出了基于位标识的记录共享内存交互的算法。算法相对于FDR硬件方法的软件模拟(PinPlay采用)有一定的时间性能上的优势,相对于TR算法也有一定的时间和空间性能上的优势。   3.探索了基于访存指令插桩的纯软件的Replay系统的一些优化方法,这些优化方法对于提高本文Replay系统的性能起到了重要的作用。
其他文献
随着信息传播的重要新媒介网络的产生,BBS已经成为了传播最快的公共平台之一。在这个复杂的网络环境中,社会中各种现象、问题和观点交错其中,不但存在着正面的信息,也潜存着
动画作品在当今社会中已经是随处可见,同时越来越多的人想要通过动画来表达观点或想法,人们对于动画制作的需求日益增长,不仅仅是专业的动画制作人,也包括很多非专业动画制作
软件开发环境由软件开发工具和工具集成机制构成,为软件的开发、维护及管理提供统一的支持。随着软件技术的发展,软件开发环境面临着如下问题:不能重用同领域内的可复用的知
中文信息处理技术在日常生活中有十分重要的地位,但其中的基于语义层面上的深层次相似度计算的进展却比较缓慢,目前关于汉语相似度计算的方法或多或少的存在不足,本文基于语
在深空探测中,寻找地外生命始终是一个备受关注的话题。随着科学的发展和深空探测的进一步深入,地外生命存在的问题正在被越来越多的人们所关注。深空生命探索对于生命起源和
生物特征识别技术依靠人体固有的特征进行身份验证,克服了传统信息安全技术的一些缺点,提供了一种更加便捷、安全、稳定的身份识别方法。随着信息技术的发展,生物特征识别技术逐
目前用户数量和网络流量出现了爆发性的增长,同时Web应用和内容从静态向动态进行转变,互联网应用面临大规模用户和动态数据内容的挑战,Web系统扩展成为关键性问题,而数据的管
平台即服务(Platform as a Service,PaaS)是一种重要的云计算服务,它提供一个可伸缩的Web应用运行环境,不仅屏蔽了底层云设施的复杂性和异构性,更为上层应用提供弹性资源供给
近十年来,伴随全民参与的Web2.0技术的蓬勃发展,虚拟的Web社会网络已经成为人们日常生活的一部分。Web技术的发展和大规模社会网络数据集的可获取性,为社会学和计算机科学的研究
本文研究目标是通过在Maze系统中实现分布式邻居构建,从而更好的获取邻居站点,同时减轻中央服务器负担以及避免单点瓶颈。论文中详细分析了现有Maze系统中央服务器的性能瓶颈