演化测试中面向分支到达的适应度函数设计研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:lwzeta
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
演化测试是一种新兴的极有潜力的测试数据自动生成技术。它通过将测试数据的生成问题转化为搜索问题,并利用进化算法进行搜索从而生成所需的测试数据。在演化测试中,测试数据的搜索过程是在适应度函数的引导下进行的,因此,适应度函数的导向能力极其重要。然而,由于实际程序本身各种各样的非线性特征,一个具有导向性的适应度函数的设计在这里变得尤为困难。近年来,已有大量研究针对这个问题进行。然而,传统工作所提出的适应度函数要么只能适用于某种特殊的程序结构,要么需要改变搜索过程。特别是,对于程序中普遍使用的标志变量情况,传统工作对于不同标志变量的出现情况往往必须采用不同的适应度函数,而对于普遍存在的嵌套If-Else结构、Switch-Case结构和函数调用结构,则鲜有工作进行研究。为此,本文对不同程序结构下的适应度函数设计问题进行了研究。在研究中发现,现有适应度函数导向性丢失的根本原因是适应度函数设计中未能充分考虑程序本身固有的数据依赖和控制依赖信息。因此,在对适应度函数的研究过程中,本文始终坚持将程序的数据依赖和控制依赖信息引入适应度函数计算公式的基本思路,并针对如下程序结构的适应度函数计算进行了具体研究:(1)针对标志变量问题,考虑了标志变量对其它变量的数据依赖,引入“标志变量代价函数”替换传统适应度函数中的分支距离,提出了针对标志变量的统一适应度函数。(2)针对嵌套If-Else结构,考虑了嵌套分支间的控制依赖关系,同时引入了“分支乐观度”用于评价测试输入对各个内层判断分支条件的满足程度,设计了一种新的针对嵌套If-Else结构的适应度函数计算规则。(3)针对Switch-Case结构,提出了通过展平控制依赖图来准确地反映各个case分支并列的语义结构,更好的度量测试数据与目标分支在控制流上的距离。(4)针对函数调用结构,考虑了函数调用链上的控制依赖关系,首次提出了一种基于函数调用依赖结构的适应度函数。实验研究和工程应用充分表明,在不同的程序特征下,本文所提出的适应度函数计算公式有效地引导了演化测试的搜索过程,大大降低了搜索的时空开销,使得实际工程代码的演化测试更加实际可行。
其他文献
名噪一时的丽江纳西古乐也许是无人不知吧,但能亲自聆听的可能不多,有幸我算其中的一个.高原水城丽江是个圣洁而富有灵气的地方,她的圣洁与灵气来源于巍巍的玉龙雪山,也来源
期刊
本论文研究具有多个墨水点的交替式下推自动机(multi-inkdot two-way alter-nating pushdown automata, multi-indot 2APDA’s).交替性是由Chandra、Kozen和Stockmeyer提出来
那一天,我同怀孕八个月的妻子奥德丽出去购物。红灯亮时我把车停下来。奥德丽的一个朋友发现了我们,奔过来看我们是不是已经有了孩子。
目前,在有关人和动物的神经科学研究中,神经纤维形态分析被广泛应用于正常或病理状态下的神经组织研究或诊断中。神经纤维及轴突的形态分析,对于对正确理解神经发育、损伤及
目的:通过对比建立正常人和患者的腰椎三维有限元模型,并探讨建模在鉴定致伤方式中的意义。方法:利用64排螺旋CT扫描技术及Dicom医学图像方法将正常人及患者实验腰椎图像导入Mi
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
目的:探究伴复杂病变的急性冠脉综合征(ACS)患者应用替格瑞洛治疗的效果与安全性及对血管内皮功能的影响。方法:抽签法将95例ACS复杂病变患者分为2组,常规治疗基础上,对照组4
近两三年在一带一路政策下,中国与世界的贸易往来较之以往又更加密切了,外贸数额每年增加的速度也在不断加快。但是国际贸易方式在新背号下却在不断的演变,跨境电商在最初的海外
构造性方法是有效的解决代数几何问题的方法之一。本文用构造性方法研究一系列的低维射影簇一即奇异平面六次代数曲线,和含有很多直线的五次曲面。第一部分研究的是平面六次
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield