前向动态切片在程序错误定位中的应用

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:yuekinger
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
通常软件测试中大部分工作是耗时耗力,其中最代价最高的是错误的定位,而在错误定位上的技术改进能降低测试的工作负荷。目前程序错误定位的方法主要包含基于程序动静态切片,基于程序频谱的语句分析方法等。动态切片由于可以通过分析目标行变量在测试运行过程中的依赖关系,去除不影响目标行变量结果的语句,将关注点转移到相关程序语句以减少考察范围。而基于频谱的软件错误方法(SFL)源于聚类分析中的相似一致性原理,相似性系数根据动态测试结果和从测试中得到的不同的频谱信息计算。通常,SFL方法忽略语句被执行但不影响切片结果的因素,计算结果仍把与切片结果无关的语句加入怀疑度的计算中;另一种情况某些语句多次被执行,但频谱统计仅记录是或否的结果,这些因素都导致定位效果的偏差。对此问题,本文提出了一种基于程序切片的覆盖频度统计(FLSF)的计算方法。首先统计每行语句的在每个测试用例下的执行频度,然后以前向计算的方法得到各个测试条件下的动态切片,随后得到与兴趣点相关的切片结果集,即影响兴趣点变量的控制依赖和数据依赖语句,对应的测试案例下执行路径中的语句如果包含在切片结果集中,则保留它的频度值,如果不包含则置为0,实验结果表明该方法能提高程序错误定位的效率。本文的主要工作具体如下:(1)程序切片包含静态切片和动态切片,静态切片涉及所有可能的程序执行,而动态切片只计算在某个特定输入下影响变量值的语句,因此切片更小。常用的动态切片计算方法包含基于前向分析和后向分析。基于后向计算的程序切片需要对记录程序的执行路径进行跟踪,计算空间复杂度较大。另一方面,对于前向计算的方法,当程序执行时,所有程序变量最近的动态切片被计算和保留,因此只需计算执行到当前的程序语句切片,而无需对执行路径进行回溯。本文详细叙述了前向切片算法的原理和实现过程,并根据当前的前向动态算法可能造成冗余的情况做改进。(2)语句频谱错误定位方法(SFL)只关注在语句覆盖信息,但没有应用可能影响语句定位结果的执行频度因素,可能导致对某些语句错误可能性的估计。语句频度错误定位方法(FLSF)则对每个语句的语句频率进行统计,并通过将每个语句频率的值标准化为[0,1)以符合错误怀疑度计算条件。本文根据FLSF和动态切片的特点,提出一种将FLSF和前向动态切片相结合定位错误的方法,主要为去除执行路径中程序语句的不相关子集,将语句频度矩阵中无关语句频度值置0,然后计算可疑度值,并本文方法错误定位的有效性以及稳定性与SFL,FLSF相比较。(3)为验证基于动态切片的FLSF方法的有效性,在SIEMENS SUITE下进行实验,选取套件下的单错误版本,对SFL,FLSF和基于动态切片的FLSF方法下的错误查找代价在应用不同怀疑度计算方法下进行比较;其次,本文选择tcas程序的34个版本分别对本文方法以及其他几种定位方法下,统计检查不同比例的代码所能定位到的错误比例,结果表明本文提出的方法(基于动态切片的FLSF方法)定位效果更具优势。
其他文献
随着深度学习技术的发展,计算机视觉相关技术在近些年来取得了巨大的突破,比如物体和人脸识别,物体检测以及物体分割等等。但在计算机视觉领域普遍缺乏对于关系的学习,比如物体检测当中多个物体之间的关系,人和物体交互检测时人和多个物体之间的关系,以及视频任务中帧与帧之间关系的学习。而对于特定的计算机视觉任务,关系学习可显著提升其性能。本文利用关系学习帮助视频摘要和目标重识别两个特定任务,并展示了关系学习在视
三维目标检测算法是无人驾驶系统环境感知的重要一环,在无人驾驶车辆的行为规划和决策中具有重要应用。与二维目标检测相比,以稀疏点云为输入的三维目标检测方面的工作尚未成熟。本文提出了一种新的基于点云投影的实时三维目标检测框架FVNet,它包括两个阶段:准边界框的检测和最终边界框参数的细化。本文首先将原始点云投影到柱面,生成保留丰富信息的前视特征图,然后构建了一个基于关键点估计的无锚检测网络D-Net来检
山上有一块小石头。它很快乐。清晨,玫瑰色的晨曦(xī)染红它的笑颜。夜里,它在清冷的星空下,聆(Iíng)听周边草木的呢喃(nínán)。有一天,它得到了一颗花籽。它把花籽藏(cáng)在心窝里。它对身边的三叶草说:“我就要有一朵自己的花儿啦,我希望它是紫色的,就像你开的花儿那样。”三叶草笑弯了腰:“你?你是石头。有谁听说过石头上能长出花儿来?”
期刊
关于时空轨迹的查询的研究已经进行了数十年。然而,如何测量轨迹的相似性,以及如何有效地表示和索引轨迹仍然是个问题。对于第一个问题,我们讨论了插值不变性的性质,并提出了具有该性质的两种距离。对于第二个问题,我们提出了Trajectory Representing and Indexing(TRI)框架来管理时空轨迹。在这种框架下,首先,轨迹将根据我们的成本估算函数被切分为子轨迹;其次,子轨迹将由一种新
区块链技术是近年来的一个新兴技术与前沿热点,其中区块链隐私保护机制是一个研究热点。传统的区块链只实现了最简单的假名性,不能满足区块链用户日益增长的隐私需求。为了解决这一问题,多种区块链隐私保护机制被提出,比如混币机制、环签名机制、零知识证明机制等。基于环签名的区块链隐私保护机制是其中很重要的一种机制,它通过引入混合地址与真实输入一起形成一个环,然后生成环签名将真实输入隐藏起来。基于环签名的区块链隐
三维人体姿态识别是计算机视觉领域一个非常重要的问题,也是智能人机交互领域的核心技术之一。近年来,人体姿态识别技术发展迅速,二维人体姿态识别准确度不断提升,为三维人体姿态识别提供了新的可能。几何模型在三维计算机视觉领域具有两个主要内涵:其一是相机与成像关系的几何模型,其二是观测目标的几何模型。对于相机视角而言,现有的三维人体姿态数据集相机视角多样性有限,现有方法容易陷入视角耦合的困境,因此需要在流程
随着中国人口老龄化进程的不断加快,老龄患者对医疗的需求正在不断上升,相对应的高龄手术例数也呈逐年上升趋势,虽然当今医疗水平技术飞速发展,手术风险依旧存在。尤其对于高龄患者而言,由于身体素质原因同时伴有大量慢性病,使得手术风险大大增加,对于高龄患者的手术医生往往十分慎重。然而高龄患者对长寿的期望越来越高,想通过手术改善生活质量的意愿也越来越强烈,故在术前做好相应的风险评估显得尤为重要。传统的手术风险
随着人工智能技术的高速发展,人们对自然语言理解、解析和生成的要求也越来越多。而对于四则运算应用题自然语言描述的方法或模型这方面的研究却是少之又少。基于这样的背景条件下,通过研究四则运算应用题文本的特征属性,从中归纳总结出从数字关系到应用题文本自然语言描述的方法或模型,这为本次研究提供了意义。对四则运算应用题文本自动生成方法的研究,主要先从对四则运算表达式开始的,总结出其表达式均由最小单元复合而成。
人脸识别是计算机视觉领域中十分重要的研究方向。人脸特征作为辨识性很高的生物特征,具有非接触式、不易更改、直接等优点,广泛应用于安防、刑侦、电子认证、银行交易等领域中。目前,受限场景下的人脸识别技术发展迅速,在研究和应用上都达到了很好的效果,而随着研究的深入,自然场景下的人脸识别成为了最为广泛且十分重要的需求。受限场景对于采集环境要求较高,自然场景中往往无法满足,其采集的人脸受到多种因素的影响,如表
随着软件开发技术的不断进步,测试验证方法和手段也需要不断完善,常见的负载压力测试已被广泛应用于服务器、Web应用、各类信息系统、网络系统等领域。但是专门针对嵌入式实时操作系统的相应负载压力测试研究还不够广泛和深入。中电32所自主研发的ReWorks嵌入式实时操作系统已被广泛应用于轨道交通、信息系统和工业机器等多种行业中,并被国防军事领域的多型装备所采用,是装备国产化的典型代表。,没有考虑到该操作系