基于覆盖分析的自动化错误定位关键技术研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:moligu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件调试是软件开发过程中最耗时和最昂贵的过程之一。随着信息技术的发展,软件系统变得越来越复杂,规模越来越大,软件调试也变得更加困难和耗时。软件调试包括错误的定位、理解和修正,错误定位是其中的一个核心过程,也是最困难和耗时的过程。使用自动化错误定位技术能够有效提高软件调试的效率,大大降低软件调试的耗费。基于覆盖分析的错误定位技术计算复杂度低,可自动化程度高,是目前研究得最为广泛和深入的方法之一基于覆盖分析的错误定位方法首先搜集程序频谱信息和测试用例执行结果向量;然后,设计度量公式对每个程序实体的可疑度进行风险评估:最后,按照可疑度值从高到低对程序实体进行排序。程序频谱信息、度量公式和测试执行结果向量是影响基于覆盖分析的错误定位技术的三个关键因素。本文针对这三个关键因素进行深入研究和分析,主要工作和贡献如下:针对程序频谱信息对错误定位效果提升的局限性问题,论文提出将类可疑度信息和程序频谱信息相结合的错误定位方法,进而提高现有基于覆盖分析的错误定位技术的定位效果。程序频谱信息只包含测试用例是否覆盖程序实体的二元信息,无法区分具有相同覆盖信息的语句,对错误定位技术效果的提升具有局限性。因此,该方法利用类的可疑度信息区分不同类中具有相同覆盖信息的语句。为了提取类的可疑度信息,论文利用每个对象的方法调用执行序列信息描述类的封装特性,量化每个类的可疑度信息;进一步,设计类的可疑度信息与程序频谱信息的结合算法,从而有效地提高错误定位效率。该方法首次提出考虑面向对象语言中类的封装特性对错误定位效果的影响。实证分析表明相对于现有的基于覆盖分析的错误定位方法,该方法能够大幅提高其错误定位效率。针对错误定位排序中缺失上下文信息的问题,论文提出结合函数调用路径上下文信息的错误定位方法,提供有效的上下文信息并提高错误定位效率。该方法首先构建具有权重的函数调用图;然后,设计基于具有权重的函数调用图的启发式搜索算法;最后,利用该算法遍历函数调用路径搜索错误语句。该方法利用函数调用路径信息将可疑语句排序中独立的不相关的语句关联起来,并提供失效执行相关的函数调用路径上下文信息,有助于开发人员在定位错误的过程中理解错误;同时,该方法能够有效地减少代码审查量。通过实证分析,论文得出该方法能够有效地提高基于覆盖分析的错误定位方法的效率。针对不同度量公式具有不同错误定位效果这一问题,论文研究不同度量公式在结合切片击中集信息和频谱信息错误定位方法中的定位效果。论文首先对结合切片击中集信息和程序频谱信息的错误定位方法进行修正和改进;接着,扩展基于集合理论的分析框架;然后,通过理论分析可以证明在单错情况下改进的方法比原有的方法以及频谱错误定位方法的定位效果要好。在改进的方法中,选取不同的度量公式,其错误定位效果可能会不同。论文从理论角度考察不同度量公式在改进方法中的定位效果,并证明在改进方法中局部最优的度量公式集合。通过理论分析,论文得出与改进方法等价的度量公式转换过程。该分析工作首次给出结合切片信息和程序频谱信息错误定位方法的理论结果。针对基于覆盖的失效邻接矩阵的测试预言问题,论文提出将蜕变测试技术应用到该领域的方法,获取缺少测试预言的基于覆盖的失效邻接矩阵。当程序包含多个错误时,首先需要获得失效邻接矩阵,基于失效邻接矩阵对失败测试用例进行聚类;最后,基于每个聚类的失败测试用例和配套的成功测试用例进行错误定位。基于覆盖的失效邻接矩阵包含两部分:提取失败测试用例签名的指纹函数和失败测试用例之间的距离公式。失效邻接矩阵是对多个错误进行错误定位的前提。当测试预言不存在时,论文利用蜕变测试技术获取基于覆盖的失效邻接矩阵,主要包括如下三个步骤:利用失效蜕变测试组代替程序失效执行;利用蜕变切片作为失败测试用例的签名;利用失效蜕变测试组的距离代替失败测试用例的距离。实证分析表明蜕变测试技术能够有效地缓解该领域的测试预言问题。
其他文献
文章通过对当前国内的城市地标概念多重理解的研究,并同时对比国外对地标的界定和"地标保护法"中对城市地标的认定内容,分析国内城市建设中频现的"地标"乱象,以及当下对于城
目的:探讨知识女性妇科疾病的发生及其与年龄的关系,为做好妇女保健工作提供依据。方法:回顾性分析1 770例从事教学工作的已婚知识女性的生殖健康体检数据。结果:有739人患有
数码显微镜采用电子目镜取代传统目镜,人们可结合强大的显微图像处理软件对电子目镜采集到的数据做进一步的后期处理。目前,国内显微图像处理软件功能单一,与国际显微巨头企
现代社会激烈的人才竞争,使得高校越来越关注学生创新精神和实践能力的培养。本文以湖北大学知行学院"食品生物技术"专业为例,从专业教改前后人才培养模式的比对到教改后取得
实验教学是高等学校教学改革的一个重要环节,实验室是实验教学的主要阵地本文以本校电工电子教学实验中心为依托,从实验室开放模式、存在问题和自主运行开放管理平台及实施与成
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
通过对医护人员情绪劳动和职业倦怠程度进行分析,探讨其情绪劳动和职业倦怠对医患关系的影响。研究结果显示:医护人员的情绪劳动直接影响医患关系,其中表面表现对医患关系及
人是现代企业管理的主体和客体,故而现代企业管理归根究底是人对人的管理。在企业管理中,管理干部是基础因素,要做好企业管理工作,就必须首先做好管理干部的选聘、任用及提拔工作