基于插桩和动态符号执行的数据竞争检测与重放

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:laopengyou123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,由于多核处理器的快速发展,多线程编程技术已经越来越受重视,并得到了广泛的应用。然而,由于多线程执行顺序的不确定性,也为大型并发程序或软件中潜在错误的查找工作带来了一定的困扰和难度。其中,由数据竞争引发的错误较为常见。如何高效准确的检测并发程序中可能存在的数据竞争,并能够将并发程序确定性重放,将成为研究的重点。基于插桩和动态符号执行方案,分别实现了恶性和良性两种数据竞争的检测与重放。对于插桩方案,首先,解析源程序对应的中间指令文件格式,针对不同类型的共享变量定义和使用情况,进行合适的判断和插桩。然后,结合时间戳向量的方法,检测存在冲突的同步操作,并在其基础上添加恶性数据竞争判断机制,使得能够准确有效的检测出此次并发程序执行过程中所发生的数据竞争。在动态符号执行方案中,利用KLEE中实现的动态符号执行技术,虚拟执行中间指令文件。通过修改KLEE源码,添加监视虚拟执行过程和状态模块的方法,使得KLEE可以有效的监控整个程序的执行过程,并结合Happens-Before与Lockset的混合算法,对程序中所有可能存在的数据竞争进行分析和检测。最后,通过实验对两种实现方案的有效性进行了验证,并针对每个实验结果分析其原因。由实验结果可知,两种方案均可以有效准确的检测并发程序中的数据竞争。另外,为了了解两种方案的性能情况,对两种方案的性能也做了对比分析,并得出插桩方法的时间性能远高于KLEE方法,但KLEE方法具有较好的稳定性的结论。
其他文献
J2EE是公认的最好的平台,不仅在于它具有JAVA很好的跨平台的优势,更因为J2EE定义了一整套规范的技术标准,如JSP,SERVLET,EJB等。研究如何在此平台下开发好的软件系统是很有意义的,
嵌入式GIS软件是最新的GIS开发技术,也是GIS的一个主要技术发展方向,目前在国内外日益得到广泛的应用。本论文研究的目的是以基于嵌入式GIS技术,结合GPS和个人掌上电脑(PDA)开发的电力移动巡检系统来说明嵌入式GIS在信息管理系统中的运用。该系统由桌面管理、移动巡检和数据转换三个部分组成,实现了对电力巡检信息的采集、传输和查询,巡检任务的拟订、派发和巡检人员的管理。通过运用嵌入式GIS,提高
Web应用框架是支持Web应用开发的重要软件复用技术,旨在提高开发效率,增强系统的可重用性、健壮性和可伸缩性。目前的Web应用框架大都侧重封装底层的技术细节,复用粒度较小,在可
目前,现有的搜索引擎虽然采用各种方法来提高检索结果的精度,但相关文档和不相关文档仍然相互混杂,给用户带来了负担。将搜索引擎返回结果进行聚类,将其分成若干个簇,同一簇
以Internet为标志的嵌入式系统正处于迅速发展的阶段,很多嵌入式设备都在尝试着接入Internet。随着单片机处理器技术的提高,要求应用程序划分成不同的独立的任务模块,保证对实时
联机分析处理系统使决策者能对企业的历史数据进行多维分析,为企业发展做出更好的决策。依托于分布式计算框架实现的关系型联机分析处理系统中,多表连接是影响联机分析处理系
近年来,随着网络的发展,通讯设备的普及,在现实世界的许多应用领域中出现了一种被称之为数据流的新的数据形式。在这些应用中,数据流是多维的、连续的、快速的、随时间变化的
大规模图数据处理已经成为大数据时代的一个重要组成部分,无论是在社交网络,还是在Web应用、生物信息网络等场景中都有所涉及。图计算系统的研究,也因此成为了高性能计算领域
病毒式营销是社交网络中重要的应用,现实场景中,社交网络中的用户通常属于某个具有特定组织结构的社交团体,因此如何选择给定数量的团体,基于所有团体内节点之间的相互信息传
近几年来,P2P作为一种新型的网络应用模式以其可扩展性、高度容错性等突出优点变得越来越流行。资源搜索机制作为P2P应用的核心技术,其目标是在P2P这种分布式动态环境中以最快