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

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

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

4.
姜淑娟  张旭  王荣存  黄颖  张艳梅  薛猛 《软件学报》2021,32(7):2166-2182
软件错误定位是一项耗时又费力的工作,因此如何提高软件错误定位的自动化程度一直以来都是软件工程领域研究的热点.现有的基于频谱的错误定位方法很少利用程序的上下文信息,而程序的上下文信息对错误定位至关重要.针对此问题,本文提出了一种基于路径分析和信息熵的错误定位方法FLPI.该方法在基于频谱信息技术的基础上,通过对所有执行路径中的数据依赖关系进行分析来引入执行上下文信息,同时利用信息熵理论将测试事件信息引入到可疑语句的怀疑度计算公式中,以提高错误定位的精度和效率.为了评价该方法的有效性,基于一组基准程序和开源程序进行实验验证.实验结果表明,本文所提方法FLPI能够有效地提高错误定位的精度和效率.  相似文献   

5.
基于覆盖率的错误定位(Coverage Based Fault Localization,CBFL)方法旨在通过分析程序执行的结果预测错误信息,是一种行之有效的错误定位方法.然而,CBFL方法中代码覆盖率的独立统计忽略了程序内存在的复杂控制依赖和数据依赖,从而忽视了语句间的语义关系,影响错误定位的准确性.该文借助实例重点分析了基于代码覆盖率所得到的错误可疑度与错误代码的表现关系,指出现有CBFL方法的不足是片面地将基于覆盖率的错误可疑度直接作为错误代码判定的依据;提出程序失效规则及基于覆盖向量的覆盖信息分析模型,并在此模型基础之上,指出高可疑代码与错误代码在执行路径上的覆盖一致性,进而提出用以挖掘与高可疑代码相关联的错误代码的频繁集求解方法.以SIR基准程序为实验对象建立的受控实验结果表明,相比之前的研究,文中方法在一定程度上能够改进错误定位结果.  相似文献   

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

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

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

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

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

11.
随着高校计算机实验室的应用范围的不断扩大,本文对软件环境频繁更新对高校实验室管理人员造成的困难进行了分析,提出了一种软件虚拟化的软件部署方案,降低了实验室软件环境的部署次数,提高部署效率。  相似文献   

12.
基于软件总线技术的软件工程方法   总被引:12,自引:0,他引:12  
该文提出了软件总线的框架结构,并对软件总线的模块设计方案进行了论述。文章最后描述了基于软件总线的软件开发方法及其过程。  相似文献   

13.
一种软件部署冲突检测及其自动调整算法   总被引:1,自引:0,他引:1  
主要研究能够根据不同环境自动调整软件部署过程的软件智能部署问题.首先,介绍并分析现有软件部署工具,提出软件智能部署模型、软件智能部署的规范化描述.其次,介绍并分析软件部署过程中冲突检测以及自动调整方法.在此基础上,提出一种能够根据环境差异,自动调整软件部署过程的软件智能部署算法.最后对比并分析软件智能部署实际应用效果.  相似文献   

14.
Large object-oriented applications are structured over many packages. Packages are important but complex structural entities that are difficult to understand since they act as containers of classes, which can have many dependencies with other classes spread over multiple packages. However to be able to take decisions (e.g. refactoring and/or assessment decisions), maintainers face the challenges of managing (sorting, grouping) the massive amount of dependencies between classes spread over multiple packages. To help maintainers, there is a need for at the same time understanding, and quantifying, dependencies between classes as well as understanding how packages as containers of such classes depend on each other.In this paper, we present a visualization, named Package Blueprint, that reveals in detail package internal structure, as well as the dependencies between an observed package and its neighbors, at both package and class levels. Package blueprint aims at assisting maintainers in understanding package structure and dependencies, in particular when they focus on few packages and want to take refactoring decisions and/or to assess the structure of those packages. A package blueprint is a space filling matrix-based visualization, using two placement strategies that are enclosure and adjacency. Package blueprint is structured around the notion of surfaces that group classes and their dependencies by their packages (i.e., enclosure placement); whilst surfaces are placed next to their parent node which is the package under-analysis (i.e., adjacency placement). We present two views: one stressing how an observed package depends upon the rest of the system and another stressing how the system depends upon that package.To evaluate the contribution of package blueprint for understanding packages we performed an exploratory user study comparing package blueprint with an advanced IDE. The results show that users of package blueprint are faster in analyzing and assessing package structure. The results are proved statically significant and they show that package blueprint considerably improves the experience of standard browser users.  相似文献   

15.
软件体系结构层次的适应性度量技术研究   总被引:7,自引:0,他引:7  
高晖  张莉 《计算机科学》2008,35(4):259-264
软件适应特定变化的能力对软件开发和维护都具有重要的影响.软件适应性(Software Flexibility)是反映软件适应变化能力的一项重要质量特征.实践说明软件体系结构设计在很大程度上决定了软件的适应性.在软件体系结构层次上量化地度量软件适应性,有助于设计人员改善和比较软件体系结构的设计方案,并可以辅助设计人员评价软件体系结构的质量.本文首先定义了软件适应性的因素-准则-度量模型(FCM模型);然后在此基础上提出了一种利用变化影响图(CIG)对软件适应性进行度量的方法.  相似文献   

16.
软件质量是当前软件工程领域的研究热点,各种各样的软件质量保证方法,为提高软件质量起到了积极的作用.但是在众多的软件质量保证方法中,基于软件文档的软件质量保证通常得不到应有的重视,导致软件质量受到严重的影响.本文分析了软件生存周期各阶段文档的特点,并提出相应的软件文档的管理策略.  相似文献   

17.
软件复用度量是软件复用技术中不可分割的一部分,在软件复用开发中占据重要地位。软件复用开发与传统的软件开发方式不同,从而影响到软件度量,因此需要新的软件复用度量方法,软件复用度量的研究已经引起学术界的广泛重视。本文是一篇软件复用度量综述,阐述了软件复用对度量的影响以及有关软件复用的度量。  相似文献   

18.
基础软件技术的发展趋势   总被引:1,自引:1,他引:0  
从分析基础软件的基本概念和特性出发,对基础软件的内容、需求、技术、产品等方面进行了系统论述。探讨了现有的主流开发技术及未来的发展趋势。通过分析现有部分国产软件系统在一些典型领域的应用,揭示我国基础软件发展的现状和难题,为现有国产基础软件产业的发展提供决策参考。  相似文献   

19.
软件移植测试过程的探讨   总被引:1,自引:0,他引:1  
分析了传统软件测试方法在软件移植过程中可能出现的问题,并在此基础上提出了在软件移植过程中软件测试的过程与框架.  相似文献   

20.
基于时间的软件恢复策略的建模与分析*   总被引:3,自引:0,他引:3  
针对软件在连续运行过程中普遍发生的老化现象,提出了一种嵌套的基于时间的软件恢复策略,对恢复过程的Petri网模型分析求解,并最终得到了最优恢复时间间隔序列和最优应用级恢复次数。该策略同时考虑应用级和系统级的恢复,从而进一步减少了恢复时间,降低了恢复成本和周期性应用级恢复策略预测失败的风险,提高了系统的可靠性。对于更复杂的系统,策略还可进一步嵌套进程级的恢复,从而具有一定的可扩展性。  相似文献   

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

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