并发程序切片技术研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:shenjing1566
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序切片是一种重要的程序分析技术,用于从原有程序中抽取对特定程序点上特定变量有影响的成份以构成新程序,通过分析这种新程序(称为程序切片)达到简化原程序分析的目的。二十多年来,这一技术已在软件调试、测试、维护、度量等软件工程理论研究与实践活动中得到了广泛应用。目前有关顺序程序切片的研究较为成熟,并发程序切片研究因并发程序的不确定性等原因,还存在着许多问题有待解决,其中如何有效地表示并发程序的执行,解决语句间依赖关系不可传递性问题,提高并发程序切片的精度和效率等一直是研究的热点。现有的并发程序切片方法大都采用并发程序流图表示并发程序的执行,并发程序流图是由各并发单元的控制流图通过并行流边或同步边简单连接构成的,它不能显式地捕述并发活动的交织执行,在进行依赖性分析时并行流被简单地作为分支流处理,基于并发程序流图难以从全局进行有效的并发程序依赖性分析。不同并发单元中可并发执行语句间的数据依赖使得并发程序语句间的依赖关系具有不可传递性,直接遍历并发程序依赖图不可避免地引入冗余语句,切片精度较低。目前某些切片方法已解决了部分依赖关系不可传递性问题,但实现代价较高,且未能从根本上解决依赖关系不可传递性问题,切片精度仍有待提高。当并发程序中包含子程序时,除依赖关系不可传递性问题外,采用上下文敏感的顺序子程序间切片方法遍历并发程序依赖图,其切片结果是上下文不敏感的。 本文对传统的可达性分析进行扩充,在提出一种有效的并发程序表示——线程交互可达图tIRG的基础上研究了并发程序切片技术。文中首先对传统的顺序子程序问切片进行改进,然后研究基于线程交互可达图的并发子程序内切片和并发子程序间切片的理论和方法,同时还探讨了线程交互可达图的约简技术,以提高分析效率,最后设计了Ada并发程序切片系统的框架,主要取得了如下的研究成果: ⑴分别提出了一种组合式顺序子程序间切片方法和一种准动态组合式顺序程序切片方法。组合式的子程序间切片方法以子程序为基本分析单位,仪分析与切片标准相关的子程序,通过计算参数间依赖关系以及关于参数的切片实现按需渐增、逐步组合的分析策略,克服了传统的基于系统依赖图的子程序间切片方法需分析所有子程序的不足,提高了分析效率。准动态组合式程序切片方法无需记录任何程序执行信息,直接利用调用栈中的有关信息计算在当前调用串下的切片,切片的精度和效率达到较好的折衷,适用于需快速响应的程序调试。 ⑵在讨论语句间依赖关系不可传递性问题以及已有并发程序表示方法应用于并发程序分析方面不足的基础上,提出一种基于线程交互可达图的并发子程序内切片方法。该方法首先基于线程交互可达图从全局对并发程序中的依赖关系进行精确的分析,然后构建一种新的以程序状态和语句二元组为节点的、依赖关系具有可传递性质的并发程序依赖图MSDG,再通过遍历MSDG图计算并发程序切片。采用该方法可解决依赖关系不可传递性问题,获得高精度的并发程序切片,精度和效率较其它高精度并发子程序内切片方法有明显提高。 ⑶在充分分析已有并发子程序间切片方法存在问题的基础上,提出一种在保证切片精度不受损失的前提下提高分析效率的三趟式并发子程序间切片方法。三趟式并发子程序间切片方法对不涉及到线程间交互的子程序采用组合式子程序间切片方法,对涉及到线程间交互的子程序则进行内联,采用基于线程交互可达图的并发程序切片方法。该方法较好地解决了依赖关系不可传递性问题和上下文不敏感问题,切片精度较其它并发子程序间切片方法高。 ⑷将偏序约简方法扩展到线程交互可达图的约简中,并基于状态信息分别对稳固集和覆盖步图等偏序约简方法进行改进。偏序约简技术是一种十分有效的并发系统状态空间约简技术,约简的并发系统状态空间包含所有的并发程序执行代表。在相关偏序约简理论的基础上,证明了基于朱约简和约简的并发程序可达图所构造的MSDG图在进行并发程序切片计算时是等价的。在提出两种有效的计算与状态相关的变迁依赖方法的基础上,对稳固集技术进行改进;在提出计算与状态相关的传递依赖变迁集方法的基础上,对覆盖步图技术进行改进,改进的偏序约简方法实现代价小,约简效果改善明显。
其他文献
在服装、针织行业,存在各种图案的切割加工需求,采用手工切割的做法不仅效率低,而且切割标准也很难统一。本文针对这一具体问题,提出了从待切割布料的图像出发,借助图像处理
自然场景动画一直以来都是图形学的热点研究方向,在计算机动画、电脑游戏、影视特技、军事仿真、建筑景观设计、虚拟现实等领域都有非常广泛的应用。植物场景作为自然场景的
随着计算机硬件性能的日益增强和万维网的迅速发展,计算能力的迁移将会发挥更加重要的作用并最终被广泛采用。利用虚拟技术进行进程迁移一直是计算能力迁移的研究热点,但是,
近年来,基于活动的社交网络逐渐流行。基于活动的社交网络主要帮助用户组织线下活动,在这类社交网络上,用户可以创建、加入兴趣小组,同时兴趣小组的成员可以发起线下活动。随
随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足进步,硬件水平不断提高,为实现无纸办公提供了坚实的物质基础,从软硬件双方面把学校建设成一流的信息管理、教育教
现代服务业的飞速发展,对标准化的征信和信用服务提出了要求。为了达到建设我国非官方的、商业化的信用体系的目的,一个标准化的征信和信用管理系统的建设迫在眉睫。传统的电
随着嵌入式技术和网络技术的不断发展,将嵌入式监测设备接入Internet网络进行远程监测正逐步取代传统的监测方案。本文设计了嵌入式远程状态监测系统的总体结构,完成了其核心
随着军事采购信息化的发展,需要处理的信息资源随之飞速增长,军事采购的过程越来越复杂,如何使用计算机对采购过程进行自动和有效的组织和管理,成为当前军事采购信息化建设迫
随着Internet的发展,网络信息安全逐渐成为Internet及各项网络服务和应用进一步发展的关键问题。传统的方法是对操作系统进行安全加固,通过各种各样的安全补丁提高系统本身的
随着互联网的普及和开源框架技术的不断发展,许多早期开发的金融系统已经无法满足金融企业发展的需求,逐渐成为了企业内部的遗留系统。它们一方面保存了企业内部十分重要的商业逻辑和大量珍贵的数据;另一方面也因为技术人才的缺失和开发效率的低下逐渐成为企业发展的瓶颈。因此如何应用更成熟、先进的技术和框架对这些遗留系统进行应用与开发成了目前很多企业关注的焦点。本文所涉及的多货币基金会计系统就是这样一套开发于上世界