首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 46 毫秒
1.
周小莉  赵建华 《软件学报》2021,32(7):2103-2117
数据驱动的智能系统的核心是处理数据的算法,对算法正确性的要求高,导致其测试开销大,需要有效地缩减测试的规模,其中回归测试选择是控制测试规模的有效手段.数据驱动的智能系统由于其动态信息流强度弱的原因,发生偶然正确性现象的概率较高,并且该现象会导致常用的回归测试选择技术所选择出的测试集包含大量检测不到故障的测试用例.因此,...  相似文献   

2.
提出了一种基于偶然正确性概率的测试充分度准则。考虑偶然正确性问题对测试的充分度衡量带来的影响,设计了一种算法来计算程序中的一个错误因为偶然正确性的发生而使输出结果正确的概率。根据动静态数据流信息分析,追溯了动态语句实例之间的定义-使用依赖关系,并据此建立了定义-使用依赖关系图。对不同语句结构和跳转条件定义各种影响因子,量化这些影响因子对错误的掩盖程度。给出了一种算法来计算程序的一次执行过程的测试充分度。选取五个C语言程序作为实验对象,计算基于偶然正确性的测试充分度准则与错误发现效率之间的关系,并与语句覆盖度的错误发现率进行了比较。实验结果显示基于偶然正确性的测试充分度准则能较好地发现错误。  相似文献   

3.
自动化软件错误定位技术研究进展   总被引:17,自引:0,他引:17  
虞凯  林梦香 《计算机学报》2011,34(8):1411-1422
调试过程中代价最昂贵和最耗时的活动之一就是定位错误.为了辅助开发人员进行程序错误的定位和修正,自动化错误定位技术通过对源程序、测试结果以及各种程序行为特征信息的计算分析,给出造成故障的软件缺陷在源代码中的可能位置.文中对现有错误定位技术进行了分类,介绍了各种代表性技术的原理以及建模方法,并给出了常用的评测基准集和评价标...  相似文献   

4.
随着软件规模和复杂度的不断提高,软件的质量问题成为了关注的焦点,如何高效地找出软件中的错误成为一个亟需解决的问题。错误定位是软件质量保证的重要途径之一,近年来已经成为软件工程中一个非常重要的研究课题。基于变异测试的错误定位通过比较原程序和对应变异体的差异来计算每条语句的怀疑度,再由怀疑度大小进行排序,程序员根据排序逐个检查找出错误语句。汇总近7年(2012-2018)国内外的基于变异测试的错误定位技术的研究成果,介绍了错误定位的基本方法,介绍基于变异测试的错误定位思想,从变异算子、变异体及等价变异体3个方面对已有的研究工作进行分类归纳和总结,探讨了基于变异测试的错误定位未来可能的研究方向、机遇和挑战。  相似文献   

5.
研究了组合测试错误定位表的结构。针对t维组合测试情形,在假设待测系统中只有一个强度小于等于t维 的错误交互时,提出了一种新的构造这种特殊情形的错误定位表的方法。这种方法构造的错误定位表覆盖了所有的t 维交互并且对任意两个t维交互,表中包含这两个t维交互的行的集合互不相同。最后提出了生成这种错误定位表的 AE"I'Glikc算法。实验表明,用该方法构造出的错误定位表比用t}l维覆盖表构造的错误定位表其行数要少得多。  相似文献   

6.
《计算机工程》2017,(12):55-59
基于覆盖的错误定位(CBFL)方法通过获取成功和失败测试用例的覆盖信息和执行结果对程序中的错误进行定位,但该方法未考虑偶然性成功测试用例的影响,降低了错误定位的准确率。为此,提出一种新的软件错误定位方法,通过分析程序变异减少偶然性成功测试用例的影响,改进怀疑度计算公式,并加入对变异影响的计算。实验结果表明,与传统CBFL方法相比,该方法能够有效提高错误定位的准确率。  相似文献   

7.
基于部分覆盖表的错误交互定位方法   总被引:1,自引:0,他引:1  
在组合测试定位模型的基础上提出了部分覆盖表的错误交互定位方法,该方法在错误交互个数已知的条件下,通过生成部分覆盖表,利用测试用例运行结果提供的信息来对软件错误交互定位.从理论上证明了部分覆盖表等价于一类特殊的错误定位表,进而研究了部分覆盖表行数的上界,提出生成部分覆盖表的贪心算法,从而给出了定位引发软件故障的错误交互的...  相似文献   

8.
张慧 《计算机科学》2016,43(10):182-189
基于程序行为特征的错误定位方法由于只孤立地看待每个程序实体,使其错误定位的效率受到影响,而回归测试错误定位又由于需要执行全部测试用例将大大增加开发和测试成本。针对以上问题,提出一种基于影响分析的回归测试优先级错误定位方法,该方法将联合依赖图、基于程序行为特征的错误定位方法和回归测试优先级进行有机结合。实验结果表明,与Ochiai,Tarantula,PPDG,CP和Naish等经典方法相比,该方法可更加有效地定位软件错误。  相似文献   

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

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

11.
基于语义约束的资源工作流并发正确性保证   总被引:7,自引:1,他引:7  
控制流结构中并发变迁的正确性是工作流模型正确性的基础.为保证模型的正确性,提出了资源语义约束工作流网的基本概念,丰富了控制流的数据语义,给出了两方面的控制流并发正确性:并发控制流与其数据语义的一致性检测算法及改正原则,保证了模型中的并发控制流结构的正确性;实例中基于数据语义约束的并发变迁正确性保证机制,提出了申请锁和释放锁的算法,保证了工作流实例中并发执行的正确性。  相似文献   

12.
传统数据库通过并发控制协议及事务的恢复机制来保证事务的正确性。在主动实时数据库系统中,为了更好地支持应用,人们提出并实现了嵌套事务模型。主动实时嵌套事务的正确性比传统的原子事务更复杂。本文详细分析了主动实时嵌套事务的正确性,包括逻辑正确性、时间正确性、结构相关(正确)性及事务的行为正确性,基于事务的经历模型给出这些正确性的定义,为主动实时嵌套事务的正确性实现提供了理论基础。  相似文献   

13.
This paper examines correctness issues that arise in distributed database design. A distributed relational database design is traditionally considered to be valid if every global relation can be reconstructed from its fragments by join operations. In this paper, three successively less restrictive definitions of validity are presented, each providing progressively improved handling of incomplete information. Examining these forms, a hybrid reconstruction approach involving inner- and outer-joins is proposed and we briefly describe its application to query formulation.We also propose replacing the notion of global reconstructability with the less restrictive, yet intuitively natural notion of object reconstructability. Universal relations need not be constructed. The need for maintenance of constraints across sites of a distributed system is discussed, and the notion of adistributed referential constraint is proposed which fulfills this need. Recommended by: Clement Yu  相似文献   

14.
王蓁蓁 《计算机科学》2014,41(1):235-241
运用测试集对程序错误语句定位的算法,现在被统称为TBFL(testing based fault localization)方法。目前通行的算法一般都没有利用测试员、程序员关于测试用例和程序的先验知识,致使这些"资源"白白浪费掉。文献[12]引入了一类新的随机TBFL方法,其精神就是在随机理论的框架下,把这些先验知识和实际测试活动结合起来,从而对程序错误语句更好地定位。文献[12]提出的算法可以看成是这种类型算法的一般"模式",人们可以根据这个一般性的模式开发出不同的算法。基于文献[13]的思想,对文献[12]中的算法做了改进。主要是根据测试结果,构造执行矩阵E和功效矩阵F两个工具,并结合测试集和程序先验知识,对程序语句出错可能性引入两个级别的排序,然后对这两个排序进行"平均",得到程序语句出错可能性的平均等级排序,它可以作为程序员改正程序错误的导向。还提出两个有关不同TBFL算法的比较标准,根据这两个标准,在一些具体实例上,将所提算法和其他一般方法以及文献[12]中的方法进行了对比,结果显示所提算法的效果令人满意。  相似文献   

15.
不同于传统C,C++或Java程序,BPEL(Business Process Execution Language)程序由一组活动及其之间的交互组成,同时引入了并发、序列化、XML表示等新特征,这些新特点使得定位BPEL程序的故障具有一定的挑战性.针对现有故障定位技术在有效性方面的不足,提出一种基于变异分析的BPEL...  相似文献   

16.
一种基于遗传算法的多缺陷定位方法   总被引:1,自引:0,他引:1  
王赞  樊向宇  邹雨果  陈翔 《软件学报》2016,27(4):879-900
基于程序频谱的缺陷定位方法可以有效地辅助开发人员定位软件内部缺陷,但大部分已有自动化方法在解决多缺陷定位问题时表现不佳,部分效果尚可的方法因复杂度较高或需要开发人员较多交互而仍需进一步改善.为改善上述问题,提出一种基于遗传算法的多缺陷定位方法 GAMFal,具体来说:首先基于搜索的软件工程思想对多缺陷定位问题进行建模,构建了候选缺陷分布的染色体编码方式,并基于扩展的Ochiai系数计算个体的适应度值;随后使用遗传算法在解空间中搜索具有最高适应度值的候选缺陷分布,在终止条件被满足后返回最优解种群;最后根据这个种群对程序实体进行排序.这样开发人员可以依次对程序实体进行检查并最终确定多个缺陷的具体位置.实证研究以Siemens套件中的7个程序和Linux的3个程序(gzip、grep和sed)作为评测对象,并扩展传统的定位方法评测标准EXAM至EXAMF和EXAML,通过与其他经典的缺陷定位方法(Tarantula、Improved Tarantula及Ochiai)进行对比,并通过Friedman检测和最小显著性差异测试可得,提出的GAMFal方法在整体定位效率方面优于传统方法,且需要更少的人工交互.除此之外,GAMFal的执行时间也在可接受的范围之内.  相似文献   

17.
二进制翻译在体系结构设计、程序性能优化、安全性分析以及软件移植等领域的研究中备受关注.不同应用场景对二进制翻译的需求各不相同,却总聚焦于翻译的正确性和翻译的效率2个方面.翻译的正确性用于评判翻译前后程序在逻辑功能上是否具有等价性,而等价的证明依赖于适当的形式化模型.为了满足研究二进制翻译正确性以及翻译优化方法对理论模型的需求,对已有理论模型进行了深入的剖析,并进一步构建了新的基于后继关系的映射模型.该模型既能够形式化地描述正确翻译的二进制翻译过程所具备的性质和构造方法,也可以在翻译过程形式化描述的基础上对翻译过程优化方法的特征和性质进行描述.通过构建翻译正确性及翻译过程优化方法的形式化模型,为二进制翻译技术中关于翻译过程的实现以及优化方法的策略组合等进一步研究提供了更强的理论支撑.  相似文献   

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

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