高故障检测率与故障定位技术研究

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:simuwuzx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统规模的不断扩大、复杂度迅速的上升,对软件质量提出了更高的要求,软件质量受到人们越来越多的关注。软件测试这一确保软件质量的有效方法也越来越被学术界和工业界所重视。基于语句覆盖的测试方法,如语句、分支覆盖等,即使达到了100%覆盖率,也无法确保100%检测出程序所含故障。为解决该问题,人们提出了一种高故障检测率方法,主要思想是使用变异测试方法来检测语句覆盖无法检测出的那一部分故障。本文完成了该框架中:去除冗余的变异算子、面向数值型变异体的值域分析和设计实现了高度可扩展的变异系统三个主要部分,并对整体检测效果进行了实验。此外,故障定位也是测试总体流程中承上启下重要的一环,现有基于程序执行频谱的方法,受偶然正确性用例等影响,而基于变异的故障定位方法则可以避免这一类噪音的影响。本文提出一种基于变异测试的去算子敏感性的故障定位方法。本论文依托国家自然科学基金重大研究计划“代码自动化覆盖测试的关键技术研究与系统研发”(课题编号:91318301)、国家自然科学基金项目“基于抽象内存模型的复杂类型测试用例生成方法研究”(课题编号:61202080)、国家高技术研究发展计划(863计划)“网构化软件协同生产和运行演化集成平台及服务环境”(课题编号:2012AA011201)和中国博士后科学基金(2015M581032)开展研究。本文将变异测试这一有效的测试方法,分别结合到高故障检测和故障定位两个测试领域。本文以提升高故障检测率方法的效率和精度、提升基于变异的故障定位的精度为目标,具体研究内容包括:(1)基于程序上下文的冗余变异体选择方法高故障检测率方法的目标是寻找一个小的变异体集合,该集合相对覆盖用例集是难测的。但变异测试可以生成海量的变异体,会大大提升测试成本和分析难度。因此,高故障检测率方法首先要去除冗余变异体,来降低测试成本。该部分工作贡献有:本文提出了一种基于程序上下文的冗余变异体选择方法,来降低变异测试成本。针对程序中的顺序语句所产生的变异体,基于故障的可达-感染-传播模型,提出了使用区间抽象域来表示程序状态,通过区间运算判断变异体之间冗余关系的算法;针对程序中的条件语句,基于谓词故障层级,分别给出了面向简单谓词和复合谓词的冗余变异体选择算法。并对这两种算法对冗余变异体的判定效果进行了分析,最后给出了在分层抽样背景下,非冗余变异体生成的约束边界条件。对Siemens和开源项目等共8个工程进行了实验,并与随机选择法进行了对比。结果表明,本文所提方法在减少变异测试时间成本的同时,可以保持较高的变异得分。(2)变异分析中基于仿射运算的变异体值范围分析方法高故障检测率方法将对非冗余变异体进行分析,选取难测故障集,分析过程涉及变异分析和变异测试用例生成等。其中,对数值型变异体的分析是一个重要的环节。这是因为在国防、航天、金融等关键领域所使用的计算机软件中,许多物理属性是通过数值变量来描述的,一些核心业务也是通过对这些变量进行数值计算来完成的。为寻找这些程序中难测故障,就需要对数值变量进行分析,计算结果的精度会直接影响高故障检测率方法的准确度。目前变异测试已有研究并未对数值型变异体采取优化分析,只是按字表含义进行简单的值域划分;或是使用了初级的精度不高的区间运算,严重影响了整体精度。该部分工作贡献有:本文在基于路径的程序分析背景下,结合变异测试的自身特点,使用精度更高的仿射运算来代替区间运算,给出了一种基于仿射运算的变异体值范围分析方法,给出了抽象域的定义、抽象语句的操作并描述了所支持的具体语义。提出了具体程序语句的预处理算法、具体语义向抽象语义的转化和变异约束的处理及仿射运算规则等。该方法作为变异测试/分析的前端处理模块,是难测故障分析的基础,是数值型难测故障分析的前置条件,可为其提供更加紧凑精确的输入域,以提升变异测试/分析的总体精度。此外,为验证本文方法整体的高故障检测率,进行了两组实验,分别使用了开源的TCASP和5个benchmark函数,实验结果表明:本文方法对条件型变异体,最高可以检测传统覆盖方法无法检测的故障的93.8%。对数值型变异体,平均可以检测78.5%传统覆盖方法无法检测的故障。(3)去算子类型敏感性的基于变异测试的故障定位方法随着变异测试研究的不断深入,人们发现除其自身的高故障检测率,和其他测试领域结合仍产生了不错的效果,如基于变异的故障定位等。基于变异的故障定位作为一种新出现的软件故障定位方法,相比基于程序频谱的定位方法,一定程度上克服了偶然正确用例带来的噪音问题,但现有的基于变异的故障定位未考虑变异算子类型敏感性问题,即随机使用算子会导致结果有很大的波动。该部分工作贡献有:为提升基于变异的故障定位效果,本文给出一种精度更高的基于变异测试的故障定位方法。具体的,针对关系变异算子、逻辑变异算子和值相关变异算子分别提出了算子选择算法。这种针对程序上下文进行的变异算子选择方法,可以一定程度上缓解使用随机算子所带来的定位不准确问题。使用两组疑似度计算公式对六个SIR开源程序和11个Linux实际程序进行了实验,结果表明本文所提方法可以缓解随机算子带来的算子类型敏感性问题,提升基于变异测试的故障定位方法的定位精度。(4)具有高可扩展性的变异测试系统为支持上述高故障检测率和基于变异的故障定位方法,设计实现了一款具有高可扩展性的变异测试系统。该部分工作贡献有:本系统针对现有C语言变异测试工具的算子类型不易扩充、自动化程度较低、对实际工程支持有限等问题进行研发,具体由故障注入、故障模型、批量执行与结果分析四个模块组成。使用自然的抽象语法树结构来表示变异体,具有高度的可扩展性;给出了针对循环体、字符串函数、数学计算函数和复杂数据结构的变异算子扩展方法,并可自定义更为丰富的变异算子,扩大变异测试的故障检测范围。使用实际开源项目中的程序,和其他故障注入工具进行实验对比,本系统具有更佳的测试效果。
其他文献
受限玻尔兹曼机是一种随机神经网络生成模型,广泛应用于特征降维、协同推荐等任务中。近年来,以受限玻尔兹曼机为核心结构单元的深层信念网络、深层玻尔兹曼机等深层神经网络模型已成为一类重要的深度学习模型,在手写体数字识别、图像识别等任务中均获得了重要的进展。但是,目前常用的受限玻尔兹曼机学习算法对比散度(Contrastive Divergence,CD)是一种近似算法,其收敛性、学习速度、学习性能等理论
在量子信息科学中量子关联处于核心的重要地位,量子关联在量子通信、量子计算、量子测量、量子密码学的基础理论中都是一个重点研究对象,对上述四者的实现都不可或缺。因此,在过去的几十年中,量子关联被广泛的研究。高斯态作为连续变量的量子态中最重要的一类量子态在过去的十几年中也被进行了大量的研究,在量子光学的实验中应用到的大部分量子态都是高斯态中的一种。因此研究高斯态有着十分重要的意义。所以,对于高斯态的量子
随着计算机和网络技术的不断发展,人们在享受网上大量资源的同时,如何保证信息的安全已经成为一个亟需解决的问题。信息隐藏是信息安全领域的一项主要技术。图像和视频信息隐藏成为最常用的形式,一般指通过特定方式对图像和视频的数据进行修改,从而隐藏信息,在隐藏后,图像和视频的使用不受影响。半色调图像是一种特殊的图像载体,仅通过黑白两个颜色值来表示一幅图像。半色调图像中信息隐藏可分为两类:(1)网点水印:一幅半
共时多频多模系统是现代无线通信系统发展的趋势,而赋予系统独立调谐的能力可以使各通信标准之间互不干扰,互不影响。基于这个原因,发展多频段的射频微波器件势在必行,同时加入频带独立调谐特点,可以扩大共时多频电路的优势,使其更符合无线通信发展的要求。振荡器和压控振荡器作为无线收发机最重要的组成部分,可以为系统提供载波和时钟信号,也被广泛的设计成共时双频电路。本论文针对开关切换电路的非共时性问题,提出新颖的
当前时代,视频无时无刻存在于世界的每一角落,电视中、网络上、手机中、大街上,人们随时都在看着各种内容的视频。从图像内容的角度来说,视频可以被分解为一连串的图片,其包含的信息量是巨大的。直到目前为止,还没有一种系统可以大规模的储存和播放原始视频码流信息。因此对视频进行压缩成为了一种必然。视频编码的目的就是尽最大的可能性去除视频码流中的冗余,使得视频内容方便储存,播放。HEVC(High Effici
为满足全球数据流量指数级增长的传输需求,下一代400Gb/s或lTb/s高速光纤通信系统将利用弹性收发机及相干接收端强大的数字信号处理(Digital Signal Processing,DSP)技术,进行带宽、子载波数量及调制格式等参数灵活可调的自适应光传输,并实现带宽资源的灵活调配。因此,下一代高速光纤通信系统将朝着数字化、软件化、动态可重构的弹性光网络(Elastic Optical Net
作为信息与通信行业内的耗能大户,移动通信蜂窝网的节能受到了越来越多关注。在蜂窝网能耗的组成部分中,基站能耗占总能耗的57%左右,其中用于维持基站日常运行的基础能耗占基站能耗的50%左右,与业务量载荷大小无关。对承载具有潮汐特征的移动通信业务的蜂窝网络而言,当负载低时可关闭大量基站来节约基础能耗。因此,通过关闭基站节省基础能耗,成为移动通信蜂窝网节能的重要技术手段。以基站关闭为主的节能机制势必造成网
网络虚拟化技术的核心思想在于利用相同的物理网络基础设施构建多重异构的虚拟网络。作为网络虚拟化的核心技术之一,虚拟网络映射问题受到了学术界和工业界的广泛关注。该问题是指为不同的虚拟网络请求(带有节点和链路约束)分配相应的物理网络资源。目前的研究成果主要集中在静态场景中的虚拟网络映射问题,忽略了该问题场景的动态性。本文从虚拟网服务需求到达的动态性、提供方电力市场的动态性以及优化效果的动态性三个角度出发
信息和通信技术(ICT)作为农村地区发展的重要工具,特别是发展中国家的重要工具引起了极大的关注。信息技术在缩小农村和农村之间的差距方面发挥了重要作用。ICT被公认为是创新、就业和生产力的重要驱动力,被广泛地认为是一个国家经济发展的主要支柱。社会科学家认为,ICT在一国的社会经济发展、国内生产总值(GDP)增长、生产力和组织基础设施改善、扶贫、就业和民主发展方面起着重要作用。在巴基斯坦的国情下,主要
移动通信和普适计算的出现为用户提供了通过基于位置的服务访问大量信息使生活更轻松的机会。但是,访问这些服务可能会使用户面临信息泄露的威胁。现有的基础架构使移动应用能够跟踪实体的位置并根据其位置显示统计信息。广泛的移动应用程序提供娱乐,健康,导航和交通管理等服务。定期访问这些服务是用户的位置隐私的持续威胁。个人数据隐私一直是一个关键问题,并且由于基于位置的服务的扩展,攻击者可以根据披露的信息轻松跟踪用