基于关联性分析的缺陷定位技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:water11
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
缺陷定位作为软件调试过程中的关键活动,对于提升软件调试效率以及软件质量有着重要意义。学术界和工业界多年来一直致力于研究出高效缺陷定位技术,取得了不少进展。由于软件缺陷作用机理的复杂性,目前缺陷定位仍然面临很大挑战,定位精度有待进一步提升。本文从测试用例生成、测试用例集有效性、强语义关联性模型、无测试预言场景、信息类型有效性五个方面系统地研究基于关联性分析的缺陷定位技术。基于上述研究,提出了一系列提升缺陷定位能力的优化技术,以大规模实验和科学度量方法验证了本文所研究技术的有效性。论文的主要研究工作及创新点如下所示:1)基于反馈的测试用例生成,为解决缺陷定位缺乏动态调整问题提供新思路现有缺陷定位技术忽视了缺陷定位是一个不断动态调整的过程,缺乏以不断推理来实现精度动态调整,在缺陷定位精度上已接近饱和,须结合动态推理过程实现精度的上限突破。本文提出基于反馈的测试用例生成方法,通过提炼调试人员在调试过程中所使用的知识和经验,并抽象成反馈机制;然后采用测试用例生成技术,产生满足反馈机制的新测试用例,即生成能反映知识和经验的新测试用例;最后将新测试用例反馈到原有测试用例集中,通过新测试用例来模拟调试人员推理过程,不断迭代这个过程直至满足精度收敛条件,实现缺陷定位精度的动态提升。实验表明,该方法所产生的新测试用例能有效改进原有测试用例集的质量,提升缺陷定位有效性。2)基于随机抽样的测试用例集有效性分析,为面向缺陷定位的测试用例集优化研究提供崭新的思路测试用例集的运行信息是分析和推导缺陷位置的关键。测试用例集对缺陷定位的有效性分析,能帮助了解测试用例集在缺陷定位过程中的作用机理,对面向缺陷定位的测试用例集设计、生成和约简具有重要的指导意义。本文以原有测试用例集为总体,采用随机抽样的方法,生成大量的随机样本,研究随机样本和总体之间的关系。理论分析和实验数据表明,测试用例集体积与缺陷定位有效性没有明显的关联性,明确了有效性失败测试用例集与未执行缺陷语句的成功测试用例集对缺陷定位有效性有正效应,而执行缺陷语句的成功测试用例集对缺陷定位有效性有负效应。基于缺陷语句在失败测试用例集已获得最大优势的分析,进一步发现成功测试用例所包含的非确定性信息是导致缺陷定位有效性扰动的原因。基于此,本文提出新的度量标准,即成功用例识别度(Passing Tests Discrimination,PTD)来衡量一个测试用例集对缺陷定位有效性的影响。为了展示这些研究成果的应用前景,本文基于ptd提出了一个测试用例集优化方法。实验表明,该优化方法能有效地提升测试用例集质量,改进缺陷定位有效性。3)基于强语义关联性的缺陷定位技术,突破弱关联性度量的精度瓶颈大多数缺陷定位方法通常基于语法单位(如函数、语句等粒度)相互独立的基本假设,定位方法不考虑语法单位之间的程序逻辑和语义关联性,须融入了语义关联性来突破语义独立所带来的精度瓶颈。本文基于逆向切片(backwardslice)定义了融合语义的关联性表达信息模型,能剥离出与测试输出结果(成功或者失败)关联的语义场景,即将语句执行是否影响测试输出结果进行关联,并将模型应用到当前先进的统计方法体系,即基于频谱的缺陷定位技术sfl(spectrum-basedfaultlocalization,sfl)的统计方法体系。实验表明,基于强语义关联性的缺陷定位技术能显著提升缺陷定位的有效性。4)基于无测试预言的缺陷定位技术,构建了缺陷定位应对“预言家难题”的新方法体系一般情况下,缺陷定位技术的应用前提必须存在测试预言,否则缺陷定位技术会无法使用。然而,在现实很多情况下,测试预言不存在或者很难定义,这就是著名的“预言家难题”(oracleproblem)。针对存在的“预言家难题”,本文应用蜕变测试(metamorphictesting)将测试输出结果(失败或者成功)重新定义为蜕变测试组输出结果(违反或者未违反),从而实现在无测试预言情境下应用缺陷定位技术。该技术应用到本文之前提出的基于强语义关联性的缺陷定位技术上,实验表明,在无测试预言的情境下,缺陷定位有效性与在有测试预言情境下的有效性相当。本文进一步研究了逆向切片与执行切片(executionslice)在定位有效性上的关系。实验表明,在有测试预言和无测试预言两种情况下,逆向切片比执行切片具有更强的缺陷定位能力,并且在现有统计方法体系中,公式gp19和er1’相比于其它公式,更有可能达到最优结果。5)面向缺陷定位的信息类型有效性分析,发现执行次数对缺陷定位的负效应现象,为信息类型选取与设计提供新指导测试用例集的运行信息需要采用具体信息类型来表达,不同信息类型表达能力各有不同,对缺陷定位的有效性会产生不同影响,有必要研究现有主流信息类型对缺陷定位有效性的影响,以此指导适用于缺陷定位的信息类型的选取和设计。本文选取二进制执行bc(binaryinformationofexecutioncount,bc)、执行次数fc(frequencyexecutioncount,fc)、逆向切片bs(backwardslice,bs)、执行次数与逆向切片混合体fc&bs四种用于缺陷定位的信息类型,系统研究了它们在当前被广泛应用的缺陷定位技术sfl体系下的有效性。研究表明执行次数fc存在很大风险损害缺陷定位的有效性,依赖信息(如:逆向切片BS)比代码覆盖(如:二进制执行BC和执行次数FC)具备更强缺陷定位能力,建议以程序依赖为基础构建新信息类型来进一步改进缺陷定位有效性。
其他文献
管理创新是企业发展的灵魂,是企业制胜的法宝。广东循环型工业企业进行管理创新具有重要意义。一方面将促进企业向循环经济的增长方式转变.增强其自身的市场竞争能力,提高其应
骨质疏松是由于全身性骨量及骨组织的微细结构的改变,致使骨脆性增加,极易发生骨折的系统性多病因骨病。多发于绝经后妇女、老人和多种慢性疾病患者,发病率女性高于男性,且随着年
目的:观察奥拉西坦联合长春西汀注射液治疗一氧化碳中毒迟发性脑病(DEACMP)患者的临床疗效。方法将该院2009年8月至2012年11月收治的99例DEACMP患者分为对照组(49例)和治疗组(50例)
人耳识别是最常见的生物特征识别技术之一,具有不受表情影响、不受年龄影响、无需被采集对象配合、可远距离完成等优点。鲁棒的人耳识别系统在诸多方面都有巨大的应用前景,例
“十二五”以来,全行业认真贯彻中央决策部署,解放思想、改革创新,覆盖全行业的军工文化建设体系基本建立,军工文化建设呈现出重点突破、全面提升的良好发展态势,走出了具有
《羯鼓录》是唐朝人南卓在洛阳受人倡议而撰写的音乐著作,记载了羯鼓的源流、形状、制作材料和要求、效果、演奏技法,以及唐玄宗以来与羯鼓相关联的人物掌故和史事,其内容为别的
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
在人们追求与他人有着明确差别的独特商品的过程中,出现了消费的“独我”演化。同时,以计算机和因特网的普及为标志的信息革命为大众和层阶市场转变为“独我”市场提供了技术和
三维模型的设计是计算机图形学中最基本的研究问题之一。三维模型设计工具在产品设计和影视动画等多个领域中都有着广泛的应用。3D打印技术的日渐兴起激发了普通用户对三维模
江苏省海安县城南实验小学提出教研组特色建设。特色建设包含两个部分:一是特色活动,教研组每学期要开展一次有意义、有价值的学科活动;二是特色课程,教研组结合学科、年级、