首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 234 毫秒
1.
已有的面向错误定位的测试用例选择方法大多数仅考虑了测试用例的语句覆盖信息,不能为错误定位选择合适的测试用例,从而导致不能有效提高错误定位的准确性.针对这一问题,提出了一种新的测试用例选择方法.文中方法分析了测试用例的执行路径信息,根据测试用例动态执行时的分支特征,采用分支聚类方法对测试用例进行选择.实验表明,提出的方法可以有效减少测试用例数量,降低错误定位的复杂度,并提高错误定位的准确性.  相似文献   

2.
现有的测试用例约简方法不能有效提高错误定位精度,现有的软件错误定位方法不能充分分析元素间的依赖关系.针对以上问题,提出结合测试用例约简和联合依赖概率建模的软件错误自动定位方法,将测试用例约简与软件错误定位统一为一个整体.不同于一般的测试用例约简方法,所提出的测试用例约简方法在程序执行路径的基础上充分考虑了错误测试用例对错误定位的影响,能够为错误定位提供有效的测试用例,为快速、准确地定位软件错误奠定基础.定义了一种新的统计模型——联合依赖概率模型,充分分析了程序元素间的控制依赖、数据依赖以及语句执行状态,并提出基于联合依赖概率模型的错误自动定位方法.通过计算联合依赖关系的可疑度,对可疑节点进行排序,准确定位错误语句.实验结果表明:与SBI,SOBER,Tarantula,SF和RankCP方法相比,该算法可以更加有效地定位软件错误.  相似文献   

3.
张卓  雷晏  毛晓光  常曦  薛建新  熊庆宇 《软件学报》2020,31(11):3448-3460
错误定位方法大多通过分析语句覆盖信息来标识出导致程序失效的可疑语句.其中,语句覆盖信息通常以语句执行或语句未执行的二进制状态信息来表示.然而,该二进制状态信息仅表明该语句是否被执行的信息,无法体现该语句在具体执行中的重要程度,可能会降低错误定位的有效性.为了解决这个问题,提出了基于词频-逆文件频率的错误定位方法.该方法采用词频-逆文件频率技术识别出单个测试用例中语句的影响程度高低,从而构建出具有语句重要程度识别度的信息模型,并基于该模型来计算语句的可疑值.实验结果表明,该方法大幅提升了错误定位的效能.  相似文献   

4.
王曙燕 《计算机应用研究》2021,38(5):1487-1490,1497
针对基于程序谱错误定位方法完全依赖于测试用例的语句覆盖信息导致错误定位效率低下的问题,提出了一种基于变异测试技术的程序谱错误定位方法。在原有语句怀疑度计算方法的基础上,增加了程序变异后执行结果与原程序执行结果不同的测试用例变化情况的分析。此外,为解决程序变异后产生的变异体数量巨大而导致执行代价过大的问题,提出了根据变异位置约简变异体的策略。实验结果表明,与几种基于程序谱的程序错误定位方法相比,该方法的错误定位代价最低,能有效提高错误定位的效率。  相似文献   

5.
软件错误定位与错误理解是软件调试过程中的重要步骤,然而调试人员利用基于覆盖分析的软件错误定位获取的可疑度,从高到低静态分析每条程序语句的检查方式,与实际软件调试过程并不相符。为了能够筛选更有助于理解错误根源的测试执行,尤其是致使程序失效的失效执行,帮助调试人员进行动态差异化分析,针对失效执行提出基于高可疑度覆盖率、揭示错误潜力和覆盖语句可疑度离散特征的3种优先级策略,针对成功执行提出加权余弦相似度匹配策略。通过将3种失效执行优先级策略与随机选择在常用错误定位技术中进行实验对比,验证了基于覆盖语句可疑度离散特征的失效执行筛选策略能够对筛选前后的错误理解工作量变化产生更强的积极影响和更弱的消极影响,并能够在相同工作量下理解更多的错误,进而更有助于将错误定位结果应用于错误根源的理解。  相似文献   

6.
基于扩展有限状态机(EFSM)的回归测试过程需要根据依赖关系变化对软件所做修改的影响域进行分析。为了针对软件某一功能进行修复,通常需要对多处代码进行同步修改,已有依赖分析方法在这种情况下暴露模型中触发条件和行为语句错误的效率不高。提出以ALL-Uses覆盖准则引导回归测试的方法,引入依赖关系变化因素的概念,修改待覆盖子路径的产生规则,对已有测试用例集中能有效覆盖子路径的用例进行选择、排序。针对已有测试用例无法覆盖的子路径,利用AOE活动图中求关键路径的方法将其补充为一条完整的迁移执行序列。选取三个软件进行实验,结果表明,本文方法可以在减小测试用例集规模的前提下有效提升ALL-Uses和植入错误的覆盖率,提高回归测试效率。  相似文献   

7.
在整个软件开发周期中,软件测试占软件开发和维护成本的一半以上,而软件错误定位是一个最困难,最耗时的任务。错误定位技术以定位软件中的错误代码为目的,通过在待测程序上运行合适的测试用例的基础上,分析并定位错误语句。由于错误定位的精度高度依赖于选择的测试用例,测试用例的数量和质量是决定错误定位的成本和有效性的关键因素,因此,面向错误定位选择有效的测试用例,不仅有助于分析软件错误产生的原因,还能极大地提高软件错误定位的效率。首先对面向错误定位的测试用例约简方法进行了分类,并对各类测试用例约简方法进行了分析和总结,进而指出了其中存在的问题和未来的研究方向。  相似文献   

8.
对不断更新的软件进行回归测试时,持续增加的测试用例会造成累计测试用例数量庞大,进而影响测试成本。在故障定位领域,已有研究在考虑语句覆盖、路径覆盖等的基础上,提出了CMR&PVR等不同的测试用例约简方法。然而,这些方法在一定程度上影响了原始测试用例集的MC/DC(修订的条件/判定)覆盖率。提出一种以MC/DC覆盖为基础的综合测试用例约简方法MCDCR,利用该方法对原始测试用例集约简后,在确保原有故障定位准确性并保持较高约简比的同时,大幅提高了测试用例对程序的MC/DC覆盖率。采用Ochiai方法在Siemens 程序集上进行了实验及验证,结果表明MCDCR约简方法的综合效果明显优于已有的约简方法。  相似文献   

9.
基于动态相似度的错误定位优先排序方法   总被引:1,自引:0,他引:1  
在软件测试中,错误定位优先排序通过优化测试用例的执行次序来提高错误定位的效果,并将检测错误和定位错误相结合,以降低测试成本。 提出了一种基于动态相似度的错误定位优先排序方法,在相似度计算中,引入了语句怀疑度,提高了相似度计算的有效性以及错误定位的准确度;同时分析并验证了不同测试用例优先排序算法对后续定位错误的影响。在6个C基准程序上,针对3种广泛采用的测试用例优先排序算法和2种错误定位技术进行了实验,结果表明提出的方法能提高错误定位的准确度和效率。  相似文献   

10.
通过增大边际权重提高基于频谱的错误定位效率   总被引:1,自引:0,他引:1  
基于频谱的错误定位技术通常利用覆盖信息来求出程序中每条语句的可疑度,并将语句按照可疑度降序排序以寻找错误语句.文中对已有的基于频谱的错误定位算法进行改进,将失败测试用例的边际权重引入到可疑度计算的过程中,即针对某一特定语句,令失败测试用例的权重随着其对该语句覆盖次数的增加而增大.实验结果表明,相对于其它方法,文中提出的方法对错误定位效率有一定的促进作用,即只需检查更少的语句即可找到出错位置.  相似文献   

11.
一个解决集合覆盖问题的二阶段遗传算法   总被引:1,自引:0,他引:1  
针对集合覆盖问题,提出一个高效的可解决大规模数据的二阶段遗传算法.二阶段遗传算法可以分为数据约简阶段和启发式求解阶段,论文形式化地描述了数据约简阶段的相关定义、定理和算法,证明了该约简方法的有效性;并给出了启发式求解阶段中针对集合覆盖问题的遗传算法中选择、交叉、变异算子的设计方法.对Beasley提出的45个测试用例的测试结果验证了二阶段遗传算法的求解效率和求解质量高于其它遗传算法.  相似文献   

12.
错误定位就是寻找程序错误的位置.现有的错误定位方法大多利用测试用例的覆盖信息,以标识一组导致程序失效的可疑语句,却忽视了这些语句相互作用导致失效的上下文.因此,提出一种增强上下文的错误定位方法Context-FL,以构建上下文的方式来优化错误定位性能.Context-FL利用动态切片技术构建数据与控制相关性的错误传播上下文,显示了导致失效的语句之间传播依赖关系;然后,基于可疑值度量来区分上下文片段中不同语句的可疑度;最后,Context-FL以标记可疑值的上下文作为定位结果.实验结果表明,Context-FL优于8种典型错误定位方法.  相似文献   

13.
程序不变量可以揭示程序的内部属性和动态执行情况,已经成功应用于软件测试用例的生成与约简.然而,每新增一个用例都要在整个测试用例集合上重新提取程序不变量,时间开销较大.提出一种基于正则表达式的将程序不变量自动转换为对应断言的方法,并利用断言判断新用例是否冗余,仅当新用例非冗余时才提取程序不变量,从而大幅度减小时间开销.将这种基于断言的测试方法应用于回归测试,可以有效约简测试用例集合,识别程序改动所影响的元素,进而发现潜在的程序错误.实验结果表明,与其它测试用例选择方法相比,该方法时间消耗小、测试用例集合约简率高、揭错能力强.  相似文献   

14.
在软件调试过程中如何高效、精确地定位程序中的错误代码是软件开发人员普遍关注的问题。MBFL是一种基于变异分析的错误定位技术,它在获得较高错误定位精度的同时会生成大量变异体,并在变异体上执行测试用例集,开销庞大。为了减少MBFL的变异执行开销,提出面向语句的变异体约减策略,通过分析测试用例的执行信息, 按一定比例 对每条由失败测试用例覆盖的语句生成的变异体集合进行约减。实验结果表明,在7个程序包的112个错误版本上,应用面向语句的变异体约减策略的MBFL,在保持较高错误定位精度的同时,能够有效减少73.51%~79.98%的变异执行开销。  相似文献   

15.
李乐平  张宇霞  刘辉 《软件学报》2023,34(6):2690-2707
在软件开发中,错误定位是修复软件缺陷的必要前提.为此,研究者们提出了一系列自动化的错误定位方法.这些方法利用了测试用例运行时的覆盖路径和运行结果等信息,大幅减少了定位错误代码的难度.在竞争性众包软件开发中,往往存在多个竞争性实现(解决方案),提出一种专门面向众包软件工程的错误定位方法.主要思想是,在定位错误语句时,将其多个竞争性实现作为参考程序.针对程序中的各个语句,在参考程序中搜索参考语句,并利用参考语句计算其错误概率.给定一个错误程序和相应的测试用例,首先运行测试用例并使用广泛流行的基于频谱的错误定位方法计算其初始错误概率.然后,根据此语句与其参考语句的相似性调整错误概率.在118个真实的错误程序上进行实验,结果表明所提方法相比基于频谱的方法,定位错误的成本降低了25%以上.  相似文献   

16.
基于频谱的错误定位方法一般利用覆盖信息为每条语句度量出错的可能,即可疑度,通过逐条检查按可疑度值降序排列的语句序列来确定错误语句.针对已有的方法大多只考虑覆盖信息中语句执行信息的问题,分析了语句执行补集对错误定位的积极影响,进一步提出了在语句执行信息基础上结合语句执行补集的错误定位方法.实验结果表明,与其他方法相比,所...  相似文献   

17.
张慧 《计算机科学》2021,48(z2):88-92
目前的错误定位方法大多数解决的是单错误定位.然而,错误之间是相互关联的,如何找到这些语句与测试结果之间的关联关系和错误之间的关联关系,并减轻偶然性正确的测试用例和相似测试用例对语句可疑度的影响,对提高多错误定位的效率至关重要.为了解决以上问题,提出了基于深度卷积网络的多错误定位方法,通过一种特殊结构的深度卷积网络得到一组准确度比较高的语句可疑度,再将其应用于前向切片和后向切片中,寻找到错误与错误之间的关联定位多错误.实验表明,所提方法的多错误定位效率高于目前存在的经典的错误定位方法的错误定位效率.  相似文献   

18.
苏欣  缪力 《计算机系统应用》2012,21(11):198-201,207
谓词切换(Predicate Switching)通过动态改变程序中的谓词判断语句状态观察程序运行结果的变化,分析可能与错误相关的关键谓词判断语句,从而实现辅助错误定位.谓词判断语句排序算法决定了谓词切换定位关键谓词判断语句的效率.已有的排序算法如LEFS算法定位效率较低;PRIOR算法虽然提高了定位效率,但必须首先做程序动态切片找寻与错误相关的谓词判断语句集合,而后建立程序依赖图以定义谓词判断语句的优先级,这个过程需要花费大量的时间,且算法复杂度较高.在这两种算法基础上提出一种新的改进排序算法,首先通过对比成功和失败的测试用例在运行中所展现出来不同程序行为特征,以此定义谓词判断语句的优先级,然后对不同优先级别的谓词根据执行先后顺序进行反向排序.基于基准测试集SiemensSuite的程序进行了实验,结果表明本文的排序算法与LEFS算法相比定位效率更高,与PRIOR算法相比减少定义谓词优先级的耗费,且算法更易于实现.  相似文献   

19.
针对为数较多的测试用例增加了回归测试成本的问题,提出一种基于弱变异准则的测试用例约简方法。首先,基于弱变异准则获得测试用例和变异分支关系矩阵;然后,重复约简4种无效测试需求和子集测试用例;最后,结合人工鱼群算法选择当前最优测试用例,并且交替执行简化和测试用例选择操作直至覆盖所有测试需求。该方法针对6个经典程序与贪心算法和HGS算法相比,基于弱变异准则并且不改变或稍微改变变异评分的条件下,约简率分别提高了73.4%和8.2%,且耗时分别降低了25.3%和56.1%。实验结果表明,所提方法在回归测试中可有效约简测试用例,降低测试代价。  相似文献   

20.
结合径向基函数神经网络与正交实验设计理论,提出了一种增强径向基函数神经网络错误定位算法.根据选择的测试用例执行得到源程序的语句覆盖信息和执行结果;通过神经网络计算出每条语句的可疑度值,并通过正交实验设计方法自适应调整神经网络中的参数值;最后按照可疑度值由高到低的顺序逐条检查程序的可疑语句进行错误定位.通过实验对所提出方法与径向基函数神经网络算法以及反向传播神经网络算法进行比较分析,结果表明,基于增强径向基函数神经网络算法具有更精确的错误定位效果和更显著的定位效率.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号