基于路径覆盖的并行程序测试用例生成方法研究

来源 :长春工业大学 | 被引量 : 0次 | 上传用户:baoma123ertswe_ss
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试深入到研发软件的每一个阶段,它从需求分析阶段开始存在直到交互软件产品为止。通过对研发产物进行测试不仅使软件产品达到用户要求,而且可以缩减研发周期与研发成本。测试的核心是有效地测试数据,现有的测试数据生成方法主要是针对串行程序的,随着时代的进步并行计算得以高速发展,科学家们把并行技术广泛地应用于图像处理、天气预报等方面。相比于串行程序,并行程序的结构更加复杂,它含有的多个进程之间需要通过特有的语句传递数据,实现进程间的信息共享,以充分发挥并行性。已有学者对并行程序的资源竞争、死锁等问题提出了测试方案。在保证进程间可以正确地共享信息的前提下,需要对程序的内部结构进行测试,进而增强并行程序的可靠性。因此有必要探讨下并行程序的结构覆盖,现有的测试程序结构覆盖的方法是基于某一个覆盖准则产生测试数据。因并行程序自身特性,不可直接使用现有生成串行程序测试数据的方案,因此并行程序测试数据生成问题是本文章研讨的重点。消息传递接口(Message passing interface,MPI)有可移植性强、操作简单等优点,被普遍地用于编写并行程序。通讯机制的差异将MPI并行程序划分为通信确定的与通信不确定的MPI并行程序,在文章中先分析这两类并行程序,了解并行程序的构成、路径等基本概念。其次,对学者普遍应用的群智能算法进行研究,并结合MPI并行程序的特性提出适用于求解MPI并行程序测试数据的算法,即交叉协同进化人工蜂群(Cross Co-evolutionary Artificial Bee Colony Algorithm,CCABC)算法,在该算法中引入交叉机制与协同进化思想。然后,选取通信确定的MPI并行程序,建立数学模型并设计适应值函数,应用CCABC算法生成满足路径覆盖准则的测试数据,使用具体源程序证明CCABC算法可以生成测试数据。最后,对通信不确定的MPI并行程序运用CCABC算法产生测试数据。在产生该类程序的测试数据时提出了两种方案,一种是将其转化为通信确定的MPI并行程序,然后再求解测试数据。另一种是给出相似路径集的定义,在寻找到目标路径的相似路径集后再应用CCABC算法求解测试数据。实验结果显示所提解决方法适用求解该类程序的测试数据,且时间效率更高。
其他文献
随着信息技术的快速发展,世界经济全球化的浪潮一波波的汲涌而来,这对企业的生存环境产生深刻的影响,对企业的竞争力提出了新的挑战。企业面对全球化的市场竞争环境时,需要面
在数据库集成领域内,建立异构数据源之间的语义互操作越来越成为一个核心问题,而语义互操作问题最后归结为解决数据冲突的问题,这是数据集成最主要的任务。数据冲突包括模式
随着互联网的不断发展和普及,信息技术的应用已经扩展到了社会经济、政治、军事、个人生活等各个领域。无论是在计算机上存储、处理和应用,还是在通信网络上传输,信息都可能
有关教师教学评价一直是学校的重要工作,是学校进行教师学期和年度考核的重要组成部分。教学评价(包括教学过程和教学结果的评价)的研究,是教育评价的重点。   本文主要研究
数据挖掘技术自诞生以来就致力于发现隐藏在数据中有价值的信息。随着大数据时代的到来,数据挖掘可以将丰富的数据变为一种宝贵的资源,其地位变得更是不可小觑。发现关联规则
全局优化问题是现代优化设计的一个重要独立分支,它在科学、工程、生活等众多领域有着广泛应用。近几年,启发式优化算法以其通用性、智能性等显著优势,得到了极大地研究和发
调整视频图像的分辨率需要视频缩放技术。如果图像缩放技术的处理速度达到实时性要求就可以应用于视频缩放。传统图像缩放技术利用插值核函数对已有像素点进行插值重建还原图
随着全球信息量的爆炸式的增长,数据挖掘技术已成为新世纪计算机科学技术的研究热点。聚类分析是数据挖掘的最主要的功能之一,聚类就是将数据对象分组为多个类或簇,在同一个
随着计算机网络的发展,互联网的规模呈爆炸式增长,各种新型的网络应用层出不穷,使得网络承载的数据量越来越大,导致数据分组丢弃率增加,时延增大,使得整个系统的性能严重下降
随着计算机网络和电子商务的迅速发展,许多移动设备上越来越多的使用密码运算,密钥泄露已成为威胁密码体制安全性的一个严重问题。为了减轻密钥泄露带来的危害,Dodis等学者于200