首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 265 毫秒
1.
传统的软件错误定位技术通常利用测试覆盖信息计算程序语句发生错误的可疑度进行软件错误定位,但是这种定位技术没有充分考虑程序本身固有的依赖信息,缺乏语句筛选,从而使错误定位的精度受限.提出了一种基于层次切片谱的错误定位技术,以提高面向对象程序中的错误定位效率.这种技术首先分析程序不同粒度层次元素(包、类、方法以及语句)之间的依赖信息,对可能发生错误的元素进行筛选,缩小错误查找范围;在此基础上,建立了层次切片谱模型,并定义了一种可疑度度量方法;最后根据该可疑度结果从大到小的顺序进行错误定位.通过实验验证了基于层次切片谱的错误定位技术的有效性,且比基于程序谱的Tarantula 技术、Union 技术、Intersection 技术效率更高.  相似文献   

2.
多线程程序可以更好地利用计算机资源,提高程序运行效率.但是由于多线程执行的不确定性,程序设计中的潜在错误不易被发现.作为系统建模和分析的工具,Petri网适合对具有同步、并发、冲突的离散事件系统进行建模和分析.文中探讨利用Petri网对Java多线程程序建模,并通过分析模型的结构性质和动态性质定位程序设计中的错误.通过对一个多线程程序实例的建模以及对模型的分析,定位了引发错误的原因,并给出了解决方案.从而说明Petri网在分析多线程程序和提高程序稳定性方面具有优越性.  相似文献   

3.
基于马尔可夫模型的软件错误定位方法   总被引:2,自引:0,他引:2  
软件调试是软件开发的重要环节.统计错误定位技术通过分析程序执行频谱来估计程序中错误所在的位置.针对不同类型的程序频谱,此类技术建立不同的启发式模型描述程序行为.已有研究表明,其准确度同目标错误和程序类型相关,且不存在某种普遍有效的技术.文中从单元测试的特性出发,探讨预测错误类型的可行性,并采用马尔可夫过程对错误类型进行预测,从错误定位技术备选集中选择适合的技术来实施.实验表明文中方法能够更快地定位程序错误.  相似文献   

4.
周小莉  赵建华 《软件学报》2021,32(4):1039-1050
基于代码覆盖的错误定位技术是一种常用的错误定位方法,被用来识别与故障相关的程序元素.然而,有研究工作表明基于代码覆盖的错误定位技术的有效性受到了偶然正确性现象的影响.偶然正确性现象是指程序中包含的错误被执行,但没有产生错误结果的情况,它在实际场景中是非常普遍的.在以往的研究工作中,我们提出了一种估算发生偶然正确性现象的概率的方法.该方法从程序运行时内存中值的定义-使用关系出发,对各语句的执行对程序输出的影响进行估计.基于偶然正确性概率,本文对基于代码覆盖的错误定位技术中可疑度的计算方法进行了修正,以消除偶然正确性现象对错误定位技术的影响.本文在Software-artifact Infrastructure Repository (SIR)中提供的西门子测试套件上进行了实验,这也是偶然正确性相关工作中常被使用的目标程序.实验结果表明,相对于基于代码覆盖信息的错误定位技术,本文提出的方法提高或至少维持了原有的安全性,并较好地提高了错误定位的精确度.  相似文献   

5.
在实际调试中,程序员往往通过追溯错误的变量值及其传播来定位软件错误,其中具有错误值的变量称为感染变量,感染变量在失败运行中具有错误值的程序位置即为感染位置。提出了一种结合动态正向程序切片和语句覆盖信息对程序变量感染的初始位置进行定位的技术。该技术通过分析感染变量的起源与传播,可以更加精确地找到与感染变量相关的错误语句集合。与传统的基于程序覆盖信息的错误定位技术进行了对比实验,结果表明,该技术可定位程序中的感染变量及其初始感染位置,并且可以显著提高程序错误定位的精度。  相似文献   

6.
辛良  姜淑娟 《计算机工程》2010,36(14):54-55
将程序切片技术应用于程序错误定位可以大量减少需要测试的语句数。提出一种基于关键谓词的程序错误定位方法,从程序中找出能影响输出结果的关键谓词,对该谓词和错误输出语句进行数据切片,并引入代码优先技术。该方法考虑了数据依赖和控制依赖,能实现准确快速的错误定位。  相似文献   

7.
基于程序谱的错误定位技术由于其较高的定位效率已成为当前软件调试领域研究热点之一.这种技术通常根据测试覆盖信息计算程序语句发生错误的可疑度来进行错误定位.然而,这种技术会随着程序中错误数目的增多效率不断下降.鉴于此,提出了一种基于条件执行切片谱的多错误定位技术(conditioned execution slicing spectrum-based multiple fault localization,CESS-MFL),以提高多错误定位的效率.CESS-MFL技术首先根据输入变量的谓词条件构建错误相关条件执行切片的谱矩阵,然后依次计算错误相关条件执行切片中的元素(语句或语句块)的可疑度,并生成可疑度报告.实验验证了CESS-MFL技术比当前流行的基于程序谱的Tarantula技术、基于程序切片的Intersection技术、Union技术有更高的多错误定位效率,并且可在有效的时间和空间复杂度内完成.  相似文献   

8.
软件错误定位研究综述   总被引:2,自引:2,他引:0  
错误定位是软件调试中的一个热点问题,旨在高效地检测出软件错误。首先根据研究方法的不同,将已有错误定位方法从轻量级和重量级两个角度进行分类并进行比较。轻量级错误定位技术不涉及程序依赖关系分析,在程序执行覆盖信息的基础上用统计学或数据挖掘等方法找出可疑错误代码的集合来定位错误;重量级错误定位技术涉及程序依赖关系分析,主要分析数据依赖、控制依赖关系或使用程序切片等来识别可疑代码。然后,总结了常用的评测数据集和评测标准。最后,对错误定位的未来研究趋势进行了展望。  相似文献   

9.
经过精心测试成功通过调试的程序,在运行过程中仍然会由于各种原因出现错误.通过对Err对象、设置错误陷阱等内容的阐述,给出了编写出错处理程序以解决该问题的办法,并用具体程序进行了分析与说明.  相似文献   

10.
错误定位是软件调试中最重要且最耗时的部分,错误定位中的任何改进都可以大大降低软件成本,而其中秩函数的选择问题则尤为关键。结合基因表达式编程技术以及基于频谱的错误定位算法,找到适应程序的高效秩函数,提出了一种新的错误定位方法。从程序测试用例的覆盖信息中提取出四种类型的子集信息;通过基因表达式编程训练出适应程序的最优秩函数;利用秩函数计算出每条语句的可疑度值,并按照可疑度值由高到低的顺序逐条检查程序的可疑语句进行错误定位。通过实验,将训练出的秩函数与已经提出的秩函数(如Tarantula,Ochiai等)进行比较分析,结果表明,基于基因表达式编程的错误定位方法具有更精确的错误定位效果和更显著的定位效率。  相似文献   

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

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