首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 109 毫秒
1.
为解决程序调试过程中的错误定位问题, 将程序执行轨迹和动态切片技术应用于错误定位。程序执行轨迹中包含与错误无关语句, 影响错误定位的准确度。在执行轨迹的基础上, 通过使用动态切片技术降低不相关语句在错误定位时的影响。建立基于程序执行轨迹和动态切片的语句怀疑度计算模型, 使用该模型计算每条语句的怀疑度, 并根据怀疑度对每条语句进行排序, 给出查错的推荐方案。通过实验对比其他算法, 证明了基于程序执行轨迹与动态切片的错误定位方法是有效的。  相似文献   

2.
为提高错误定位的效率,提出了多种测试用例约简与选择的方法,然而,过度的约简与不适的选择造成了部分测试信息丢失,引起了错误定位有效性的损失。本文提出了一种相似测试用例选择方法,用以约简测试集。该方法能消除偶然测试用例对错误定位准确性造成的偏差,通过为每个失败测试用例选择执行轨迹与其相似的成功测试用例的方式,最大限度地保留测试的全部信息;基于选择出的测试用例信息,利用已有的错误定位方法输出程序语句的可疑值列表。以Siemens程序集作为实验对象,证明了本文测试用例选择方法能显著提高错误定位的有效性。  相似文献   

3.
针对现有面向对象软件(OOS)自适应随机测试中挑选测试用例的有效性及错误检测率不高的问题,提出了基于覆盖率的面向对象软件自适应随机测试方法.新方法在生成候选测试用例集时考虑了代码覆盖率信息,将语句覆盖率同测试用例差异性信息综合考虑来挑选将执行的测试用例,从而提高错误检测率.给出了覆盖率动态排序监测技术整体框架、预处理模块、程序插桩模块及排序模块;叙述了DTCGOOS-Cov算法.采用ID3Manage,RabbitAndFox,SATM,SchoolManagement,WaveletLibrary以及WindShieldWiper这6个被测类库,将新方法与传统自适应随机测试方法和纯随机测试方法进行了对比试验.结果表明:基于覆盖率的OOS自适应随机测试方法在F_m和E_m这2项指标上要优于其他2种方法.  相似文献   

4.
测试集测试结果对程序错误定位算法(testing-basedfaultlocalization,TBFL)没有考虑到程序和测试用例集本身的信息,而智能随机TBFL方法,则是利用随机理论将测试员、程序员关于测试用例和程序的先验知识和测试结果信息结合起来,去定位程序的错误语句.智能TBFL算法主要从人类处理信息的通常过程着眼,把测试员交给开发人员的测试结果(主要是用例是否失败和用例覆盖语句情况)分两个层次处理,首先构造执行矩阵曰,利用程序先验分布计算测试集捕获错误的能力等级分布,它相当于人类处理信息首先考察信息的正确性和重要性这一事实;其次构造功效矩阵F,利用前述的测试集能力分布计算程序语句出错可能性的等级分布,它相当于人类处理信息时挖掘信息内涵并对信息加以综合从而做出正确判断这一事实.因此文中提出的算法称之为智能算法,它在理论上是可信的.根据文中所提出的两个有关不同TBFL算法比较标准,并在一些实例上把智能算法与其他一些传统错误定位方法进行对比,发现智能算法的功效比较满意.  相似文献   

5.
基于谱的错误定位(SBFL)技术能找出导致程序出错的可执行代码.测试用例数目和覆盖语句次数可构造SBFL的二分型矩阵.利用该矩阵,人们提出许多的SBFL关联测度计算公式.然而,这些关联测度往往只适应部分程序集.因此,提出基于分类算法的技术,能学习到程序集特有的关联测度.训练集样本建立在成对的错误语句和正确语句上,其特征由语句对的条件概率相减而成.为证实技术的有效性,在Siemens套件、space和gzip三个基准数据集上完成实验.使用Weka的Logistic、SGD、SMO和LibLinear训练出的关联测度,性能都明显优于固定形式的SBFL测度.  相似文献   

6.
为了提高回归测试的效率,根据组件间的调用图,找出可能的路径片段,通过测试用例的执行历史进而计算出路径片段的覆盖指数,最后对覆盖指数进行排序,提出了一种测试用例的优先级模型.用此模型可以高效地进行回归测试,及时发现程序中的错误.  相似文献   

7.
C语言小程序算法的表示   总被引:1,自引:0,他引:1  
在自动评判程序中的逻辑错误时,一个关键问题是正确表示程序的算法,并解决多样性问题.围绕算法的定义,提出用变量的源变量列表(VSV)和单变量访问流图(SVAF)共同表示程序的算法.其中VSV用于描述变量间的计算关系,SVAF用于描述每个变量的操作方式、次序以及相关的程序控制结构.经过规格化操作,可消除VSV和SVAF中因语句次序、临时变量、特殊赋值语句以及循环语句等引发的多样性问题.  相似文献   

8.
一种基于类数据流的软件测试技术   总被引:4,自引:0,他引:4  
提出了一种类数据流测试技术,通过类的数据流分析计算出实例变量的定义-使用对信息及成员函数的前置条件和后置条件,匹配函数的前置条件和后置条件为每一定义-使用对产生函数激活序列(即测试用例).这样产生的测试用例能够发现成员函数与实例变量之间交互作用时发生的错误,并且弥补了传统数据流测试技术的不足,减少了重复测试,提高了测试效率.  相似文献   

9.
研究了循环体内标志变量赋值对进化测试带来的影响.分析了传统方法的不足及标志变量(flag)存在的各种情况,如针对标志变量的多分支赋值、跳转语句(break)的使用以及存在嵌套循环等问题,提出了一种改进的循环体内部的flag移除算法.通过对源程序的插桩和转换,重新构造了利于搜索进展的适应度函数.实验结果表明该方法可提高进化测试效率,并以较小的代价成功生成测试用例.  相似文献   

10.
该文旨在基于白盒测试准则,提出能够在尽量复用测试资源、降低测试成本的前提下有效发现程序中错误的蜕变测试方法。任务关键软件的正确性是信息安全的重要组成部分,对其bug的测试至关重要,但Oracle问题经常制约到此类软件的测试。蜕变测试(MT)能够有效解决此类问题,但随机性较大。该文针对二元蜕变关系,提出了2种迭代的蜕变测试算法AESIST和AEMIST,在依据此2种方法的测试中,上一轮生成的测试用例可以作为下一轮的原始用例而生成新的测试用例,并且所有的测试用例满足蜕变关系全路径覆盖准则(APCEM)。实验结果表明:2种算法产生的测试用例能够在尽量少地运行程序的情况下有效发现程序中的错误。因此,本文提出的2种迭代蜕变测试算法在程序bug检测方面是高效的。  相似文献   

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

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