基于相似度的消息传递并行程序测试

来源 :中国矿业大学 | 被引量 : 0次 | 上传用户:gzzmh12345
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
消息传递并行程序拥有简单的开发方式、实现的便捷性,以及优秀的兼容性能,是当前应用最广泛的并行程序之一。消息传递并行程序包含多个进程,这些进程并行执行,协同完成一个任务,使得基于该类程序的问题求解具有高效性。与串行程序相比,该类程序要复杂的多,进程间通过消息传递完成通信,使得执行过程具有不确定性,同时可能伴随着数据竞争、资源冲突,以及死锁等新问题的出现。因此,消息传递并行程序的可靠性要求更高,对其进行测试显得尤其重要。为测试程序,需要确定待测试的目标,可以是一或多个语句、分支、路径,或者其它代码片断。已有学者指出,基于语句、分支等其他的许多软件测试问题都可以转化为路径覆盖测试数据生成问题。因此,寻找覆盖路径的测试数据是非常重要的。消息传递并行程序通常包含多个进程调度序列。针对路径覆盖的测试数据生成问题,本文首先研究从程序中选择可高效生成期望测试数据调度序列的方法,以提高测试效率;但随着程序复杂度的提高,需要测试的路径也急剧增多,如果逐一寻找覆盖这些路径的测试数据,那么,需要多次运行程序,才能生成相应的测试数据。如果多条路径对应选择的调度序列相同,相应的测试数据生成问题,可建模为多目标优化问题,以减少程序运行的次数,从而提高测试数据生成的效率。但是,当路径的数量很多时,将导致建模的优化问题包含过多的目标函数,大大增加问题求解的难度。鉴于此,本文提出一种适用的路径分组方法,将复杂的多目标优化问题分解为多个简单的子优化问题,从而进一步提高测试数据生成的效率;待测试的路径分组后,本文最后给出详细的测试数据问题的求解过程。文章主要包括如下3个方面:(1)针对消息传递并行程序的路径覆盖准则,提出测试数据生成的调度序列选择方法。不同调度序列下覆盖路径测试数据生成的难度存在很大差别。调度序列选择不当,将大大限制测试效率的提高。所提方法旨在针对待覆盖的路径,选择一个性能优越且可行的调度序列,以高效的生成期望的测试数据。首先,在程序的输入空间中基于拉丁超立方采样,生成程序输入集合;然后,以每一采样值在每一调度序列下执行程序,得到覆盖路径与目标路径的相似度,并基于此排序调度序列;最后,基于静态分析,寻找性能优越且可行的调度序列。所提方法充分考虑调度序列对消息传递并行程序执行的影响,为该类程序的测试提供了行之有效的途径。(2)同一调度序列下,待覆盖路径的数量很多时,通过对上述路径合理分组,将测试数据生成问题建模为多个简单的子优化问题,从而提高路径覆盖测试数据生成的效率。考虑到已有方法得到的路径分组,组内路径之间的相似度偏低,路径覆盖测试数据的生成会受到限制。为克服上述缺陷,本文提出一种新的路径分组方法,该方法将组内已有的目标路径均视为基准路径,并基于与这些基准路径的相似度,将剩余的待覆盖路径分组,以提高组内所有目标路径的相似度,从而提高相应的测试数据生成的效率。此外,基于进程直接涉及的程序输入,设定进程子路径相似度的权值,并基于这些子路径的相似度及其权值,计算路径间的相似度。(3)基于上述研究内容,给出测试数据生成的实现过程。该实现过程的核心是遗传算法。作为一种受自然界生物进化启发,产生的基于种群的全局概率搜索方法,遗传算法具有自学习性和自适应性等优点。首先,将测试数据生成问题转化为优化问题,然后,采用遗传算法求解上述优化问题,以生成期望的测试数据。本文提出的方法,不仅提高了基于路径覆盖的消息传递并行程序的测试效率,还扩大了遗传算法的应用范围,具有非常重要的理论意义和实用价值。
其他文献
本文受高档轿车上采取的温度分区供风方式的启发,结合高速铁路国家实验室“空调通风测控系统”项目中的空调机组运行控制方案和实际应用中车厢环境控制系统存在的不足,针对高档
随着人们生活水平的提高,人们对产品质量提出了越来越高的要求,这反应在工业系统中,体现在复杂控制系统的引入,这使得系统规模变得更加复杂、智能了,这同时也会使系统承受更
随着电力工业发展,负荷装置引起的配网谐波污染问题十分严峻,电力系统的谐波抑制问题日益成为电能质量的研究热点。目前有源电力滤波器技术的研究领域主要涉及谐波电流的检测和
随着计算机及互联网络技术的快速发展,复杂网络在现代生活中有许多实际应用,如智能电网、通信网、神经网络等等,而同步化作为复杂动态网络最重要的集群行为,广泛存在于物理、
同步建图与定位是当今在未知环境中实现定位过程中必须解决的关键问题,采用激光雷达进行二维地图的建立和定位是常用的实现手段之一。其中涉及到的主要问题为递增建图与定位,
模型预测控制(MPC)是一种直接产生于工业实践的先进控制技术,具有建模简单,且适用于时滞、受限、多变量等复杂过程的优点,一直以来都是工业界关注的热点。然而,实际工业过程的复
随着信息技术的发展和网络的普及,人类社会进入信息时代,信息安全成为当前迫切的需要。信息安全主要是由安全协议和密码算法组成,而密码算法是信息安全的基础和核心技术。由
目前对复杂动态网络的研究大多数都是针对节点线性耦合的网络,讨论非线性耦合网络的比较少,但是由于实际网络的复杂性,一个网络中两个节点的相互作用并不能仅由节点间的线性
随着全球能源危机的日益严重,风电技术的研究发展迅速,我国风电产业起步较晚,大多技术多靠国外引进,缺乏自主研发能力,提高风电技术的自主研发能力是我国风电行业的当务之急。进行风电技术的研究的方法之一就是使用软件进行仿真研究,由于LabVIEW软件具有虚拟仪器控件丰富、函数库强大、可扩展性强、编程简单等优点,为了研究双馈风力发电机的运行特性,本文在LabVIEW平台上设计了双馈风力发电机的仿真软件。本文
随着电网结构日益复杂和容量的日益增加,变电站作为电网中电能转化和配送的集结点,对自动化水平的要求越来越高。不同规格的智能电子设备在变电站系统中广泛的应用,对变电站在系