基于重放的并发程序调试技术研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:sundianjusdyg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着并发程序日益广泛的使用,并发程序的调试也变得越发的重要。传统的循环调试技术主要是设置断点,多次执行源程序,逐步定位错误位置。因为顺序程序的执行结果主要取决于程序的输入,所以这种方法对于顺序程序十分有效,但是对于并发程序,问题要复杂得多。首先,并发程序的并发性和不确定性,导致了对于一个给定的并发程序,即使在相同的输入下,也可能产生不同的结果,或者是结果相同,但是执行的路径不同。正确发现和纠正错误的前提是能够不断地让同样的错误重复出现,然而在并发程序调试时,可能无法得到错误信息,或者观察到了错误,再次运行时却无法得到上次的错误状态。这就迫切需要有一种机制,使得在调试时能够确定性地执行程序。其次,并发程序一般都含有多个进程,它们之间存在着复杂的通信和同步,因此在调试时程序员希望对并发程序的执行流程和进程间的通信有一个整体的把握,然而人工查阅代码获得进程间的通信关系几乎是不可能的。这将使得程序员难于分析和理解并发程序,调试时必须在多个进程间频繁地切换和盲目地跟踪,调试效率将大大降低。这就有必要给程序员提供进程间的通信关系。基于上述问题,我们研究和开发了并发程序分析和调试工具,其中包括基于重放的并发程序调试工具和进程间通信关系提取和描述工具。该工具基于用C语言编写的进程间以消息队列和共享内存为通信机制的并发程序。基于重放的并发程序调试工具追踪并发程序执行,以便在重放的基础上调试并发程序;通信关系提取和描述工具用于自动提取源代码中可能的通信关系和本次执行时实际的通信关系,并将关系以图形的方式显示给用户。
其他文献
工作流技术是重要的协同应用支撑技术之一,它通过对业务过程进行建模、执行和管理来完成业务目标。工作流模型建立起来之后,模型正确性验证和工作流执行时的并发控制成为需要
对象管理组织OMG是独立于各厂商的非盈利性组织,其宗旨是要统一不同的商业产品和标准之间的数据交换及互操作性,从而改善各厂商的软件产品之间不兼容的情况。为此,OMG为分布
本文以2003年广东省关键领域重点突破项目:“互联网文化娱乐软件开发”为背景,在参与开发三维游戏引擎的过程中,研究了在三维游戏引擎中实现刚体运动模拟的若干理论与方法,重点研
随着互联网技术的迅速发展、互联网上信息量急剧增加,网络已成为人们获取信息的重要途径。用户渴望在膨胀的资源中快速检索出自己想要的信息的愿望,迫使传统搜索引擎向智能化、
频繁模式的挖掘一直是数据挖掘中的重要研究领域之一。随着计算机软硬件的发展,传统中的确定性数据可能存在缺失、出现噪声值,从而产生大量不确定性数据,如传感器、卫星图像
网络教育是随着现代信息技术发展而产生的一种新型的教育形式,鉴于目前的网络教学系统多数缺乏智能性、自适应性、自主性和各环节的互通性以及交互性,可以采用Agent技术对上
随着计算机互联网科技的不断进步,网络化教学已逐渐被教育工作者所认同,成为现今教育的一个重要发展方向。网络化教学评量也逐渐扮演着一个重要的角色。教学评量一方面为教师
计算技术和无线通讯技术的发展与结合使得一种全新的计算模式—移动计算模式成为现实。在移动计算环境下,用户使用便携式计算机通过无线通讯接口实现对信息网络的访问,而不受
XML(eXtensible Markup Language)是继HTML之后发展起来的一个重要的Internet技术。已经成为Internet上数据表示和交换的新标准。随着Web应用的迅猛发展,XML数据量与日俱增。
人工神经网络(ArtificialNeuralNetworks,ANN)是一个高复杂度的非线性系统,虽然从形式上模拟了人脑的学习结构,但由于所依赖的生物学理论基础尚不完善,因此人工神经网络不仅功能