首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 125 毫秒
1.
软件测试过程通常期望以最小的成本检测尽可能多的缺陷.为了降低建模复杂度,多数文献通常假设缺陷之间相互独立.但在实际测试中,缺陷之间往往存在关联,并且每个缺陷引发软件失效的严重程度也不相同.充分利用缺陷之间的关联信息,有助于增加相关缺陷的可检测率,提高软件测试效率.因此,提出一种新的思路:利用软件缺陷之间的关联构造缺陷相关系数,引入回扣机制,量化不同严重等级的缺陷所被检测到的价值,综合考虑缺陷相关系数、检测率、回扣三者的权值,以构造基于缺陷关联的最优测试策略.同时,提出复合的优化算法来构造相应的最小生成树,将测试剖面转换成带权的路径问题,以有效地寻找具有最大权值的最优测试路径.另外,改进了已有的剔除策略,以更有效地删除关联缺陷.通过实验仿真,并与其他测试策略相比较,证明了该方法的有效性.  相似文献   

2.
李鹏  赵逢禹 《计算机科学》2013,40(10):159-161,189
在软件开发过程中,软件缺陷具有传播的特性.缺陷的传播特性决定了缺陷之间并非独立存在,而存在相互关联,因此软件缺陷关联分析对于缺陷排除、软件质量保证、过程改进具有重要的意义.从软件缺陷关联的原因出发,基于面向对象的分析与设计模型,分析了软件缺陷的传播过程,研究了对象关联与软件缺陷关联之间的关系;依据缺陷的传播过程,建立了树状关联规则和特征相似关联规则;最后阐述了建立两种关联规则的步骤,开发了构建树状关联与特征相似关联的软件原型.  相似文献   

3.
基于缺陷关联的静态分析优化   总被引:2,自引:0,他引:2  
缺陷检测一般包括静态分析与人工审查两个阶段.静态检测工具报告大量缺陷,但是主要的缺陷确认工作仍由人工完成,这是一件费时、费力的工作.巨大的审查开销可能会导致软件开发人员拒绝使用该静态缺陷检测工具.提出一种可靠的基于缺陷关联的静态分析优化方法,能够分组静态检测工具所报告的缺陷,在分组后的任意一组缺陷中,如果其主导缺陷被证明是误报(或者是真实的),就能确认其他缺陷也是误报(也是真实的).实验结果表明,基于缺陷关联的静态分析优化方法在较小的时间和空间开销下减少了22%的缺陷审查工作,能够较好地适应于大型的关键嵌入式系统程序缺陷检测.  相似文献   

4.
已有研究根据软件的代码依赖、修改历史、协同开发关系等,建立网络模型来预测软件的缺陷;近年来,网络嵌入技术广泛用于软件网络分析,显著提升了缺陷预测效果。本研究发现不同软件关联网络和网络嵌入算法的组合将影响缺陷预测性能。具体地,本文针对3种软件关联网络(类依赖网络、文件耦合网络和开发者贡献网络),并应用6类网络嵌入方法,分析不同网络嵌入方法所保持的软件结构特征及其对缺陷预测性能的影响。在12个开源Java系统上的实验结果显示:在类依赖网络和文件耦合网络,传统的度量特征上结合网络嵌入特征后,缺陷预测效果得到显著提升;DeepWalk、Grarep和Node2vec网络嵌入算法更擅长学习网络的同质性,缺陷预测效果更好;网络嵌入特征以及缺陷预测性能对嵌入算法的参数配置比较敏感。本研究结论有助于指导缺陷预测中软件关联网络和网络嵌入方法的选择。  相似文献   

5.
引入关联缺陷的软件可靠性评估模型   总被引:1,自引:0,他引:1  
关联缺陷的存在很大程度上是由于缺陷的检测能力被其他缺陷所屏蔽,它不仅影响软件测试结果,还扭曲了软件可靠性评估模型的评估结果.从软件缺陷的自身角度来分析软件检测以及可靠性评估失效的原因,对关联缺陷进行了详细分析.为了在软件可靠性评估时获得更符合实际缺陷数量的预测值,将广义关联应用于现有可靠性评估模型的改进上,并提出了P-NHPP(phase-nonhomogeneous poisson process,简称P-NHPP)可靠性模型.实验分析表明,P-NHPP具有较好的拟合效果和预测能力.  相似文献   

6.
缺陷修复时间预测能够帮助开源社区管理者精确地估计缺陷修复工作量,实现缺陷修复人员的优化分配。缺陷追踪库Bugzilla是开源社区缺陷修复数据的主要来源。在实际使用中,缺陷追踪库除被用作记录缺陷之外,还被用于记录用户对软件产品不足之处的投诉,以及软件功能相关讨论。缺陷追踪库的混合使用给缺陷修复时间预测带来系统性偏差。为降低系统性偏差对预测结果的影响,给出基于模糊关联规则挖掘FARM(Fuzzy Association Rules Mining)降低系统性偏差的缺陷修复时间预测方法。该方法通过分析历史数据生成模糊关联规则来过滤系统性偏差。实验结果显示经过该方法处理后的新预测模型结果优于原有模型。  相似文献   

7.
《微型机与应用》2018,(4):41-44
针对网络软件缺陷预测中缺陷之间的显性关联关系和隐性关联关系,为提高网络软件缺陷预测的精确度和效率,基于现有的软件缺陷数据集,提出一种基于关联规则的网络软件缺陷预测方法。首先采用随机方法从美国国家航空航天局NASA的软件缺陷数据库中提取用于分类和测试的数据集,利用关联规则方法中Apriori算法对数据集进行关联规则生成和关联分类器的构建,并与BP神经网络方法的预测结果进行对比。结果表明,基于关联规则方法能够在小样本数据集中提高网络软件缺陷预测的精确度和有效性。  相似文献   

8.
李超  刘辉 《软件学报》2018,29(8):2243-2257
为了检测软件系统中存在错误参数的函数调用,本文提出了一种基于关联分析和N-Gram语言模型的静态检测方法(ANiaD).基于海量开源代码,构建了关联分析模型以挖掘参数间存在的强关联规则.针对参数间存在强关联规则的函数调用构建N-Gram语言模型.基于训练过的N-Gram模型,计算给定函数调用语句正确的概率.低概率的函数调用被报告为异常函数调用.基于10个开源Java项目对该方法进行实验验证.实验结果表明该方法检测的查准率约43.40%,显著高于现有的基于相似度的检测方法(查准率25%).  相似文献   

9.
大量而广泛存在的源码系统使得软件源码的安全问题日益重要.文中在大型源码系统中采取路径敏感的方式挖掘关联变量访问规则,并自动检测系统中因不一致访问关联变量引发的源码缺陷.通过结合程序源码的逻辑信息及路径敏感信息,挖掘出其中的源码关联变量,避免路径非敏感方法带来的错误.对路径敏感方法挖掘源码关联变量中面临的主要挑战:路径权重不均、路径爆炸问题,提出较高效的解决办法.在Linux源码系统中验证方法的正确性和高效性,实验结果表明该方法可高效、准确提取模式.  相似文献   

10.
基于条件概率模型的缺陷定位方法   总被引:1,自引:0,他引:1  
舒挺  黄明献  丁佐华  王磊  夏劲松 《软件学报》2018,29(6):1756-1769
缺陷定位是软件调试的重要阶段,依赖程序频谱信息实现软件缺陷定位,是当前比较行之有效的方法.基于频谱缺陷定位方法应用的前提是,程序频谱和执行结果之间存在的潜在关联.通过经验性分析两者之间的内在关联,借助于统计学的条件概率思想,构建了用以量化分析两者关系强弱的P模型,并基于此提出了基于条件概率的缺陷定位方法.以Siemens套件中的7个程序、Space程序和3个Unix工具程序为基准评测对象,与已有的15种经典缺陷定位方法进行了对比实验.实证研究结果表明,该方法总体上具有更好的缺陷定位效果.  相似文献   

11.
12.
基于正交法的软件测试用例生成   总被引:1,自引:0,他引:1  
在软件测试中,即使对中小规模的软件,要想达到一定的测试覆盖要求,生成的测试用例数目都可能非常惊人.为了尽早地产生高质量的测试数据,将有限的测试资源进行合理的分配,提出了一种基于正交试验设计法(简称正交法)的软件测试用例生成技术.介绍了正交法的基本概念和主要用途,详细阐述了运用正交法进行软件测试用例设计的步骤,最后将其应用于一个简易管理信息系统,结果表明,生成的测试数据数量较少且错误检测能力较高.  相似文献   

13.
基于Markov决策过程用交叉熵方法优化软件测试   总被引:3,自引:1,他引:2  
张德平  聂长海  徐宝文 《软件学报》2008,19(10):2770-2779
研究了待测软件某些参数已知的条件下,以最小化平均测试费用为目标的软件测试优化问题.将软件测试过程处理成马尔可夫(Markov)决策过程,给出了软件测试的马尔可夫决策模型,运用交叉熵方法,通过一种学习策略获得软件测试的最优测试剖面,用于优化软件测试.模拟结果表明,学习策略给出的测试剖面要优于随机测试策略,检测和排除相同数目的软件缺陷,学习策略比随机测试能够显著地减少测试用例数,降低测试成本,提高缺陷检测效率.  相似文献   

14.
基于简化的受控Markov链软件自适应测试模型大多是研究如何以最小的期望成本检测并移除所有的缺陷,并在构建模型时对部分条件进行特殊化和理想化处理.针对受控Markov链软件测试模型适用范围小、效率低的缺陷,在软件控制论思想基础上,对制约条件进行了一系列新的转换,提出一种改进的、资源约束的受控Markov链模型,该模型能够在高效性、复杂性和适用性3方面达到一个平衡.根据该模型设计一种新的软件缺陷优化测试策略,再通过参数估计对优化测试策略进行在线调整的方法,以构造软件自适应测试策略.为了证明其有效,利用该模型得到的新的软件自适应测试策略进行仿真实验,进一步得到了有效结果.  相似文献   

15.
于海  王莹  徐美秋  杨博  许畅  朱志良 《软件学报》2023,34(11):5282-5311
在软件开发过程中,软件库可以减少开发时间和节约成本而被广泛使用,因此现代软件项目包含多种不同来源的代码而使得系统具有更高的复杂性和多样性.软件库在使用的过程中常常伴随着各种风险,如低质量或安全漏洞,从而严重影响软件项目的质量.通过分析与软件库的耦合强度,来量化由软件库的依赖关系而引入客户代码的复杂性和多样性.首先,根据客户代码与软件库之间方法的调用关系建立软件边界图模型,区分开客户代码和软件库的代码边界;进而基于此提出一套软件库依赖图谱的复杂性度量指标RMS,用以量化不同来源软件之间的耦合强度.在实验过程中,挖掘Apache开源社区中10个流行软件所有历史版本数据,最终收集到7 857个真实项目间依赖缺陷问题.在上述真实数据基础上,结合所提出的复杂性度量指标RMS,利用假设验证方法开展实证调查研究来探讨:H1:风险因子更高的边界节点是否更容易引入更多数量的项目间依赖缺陷; H2:风险因子更高的边界节点会是否更容易引入严重等级高的项目间依赖缺陷; H3:RMS度量指标数值多大程度地影响了引入项目间依赖缺陷数量和严重等级.实验结果表明,根据RMS度量指标评估,与软件库耦合度更高的边界节点容...  相似文献   

16.
复杂的 CORBA异常机制成为 CORBA软件错误的主要来源地之一 .此类错误不易于发现、复现、调试 ,因而成为测试的难点 .分析此类错误的逻辑特性 ,扩展契约式设计思想使之适用于异常机制 ,并以此为基础给出了一种针对CORBA异常错误的软件测试方法  相似文献   

17.
GPS导航软件已经大量涌入市场,对于GPS导航软件本身的质量越来越受到重视。针对GPS导航软件的应用特点,提出了一种GPS导航软件功能自动测试框架,并介绍了相关实现技术,它能自动模拟软件的使用环境和GPS测试数据来验证软件的正确性。在实践中证明此框架行之有效,能有效构建测试环境,及时发现软件的缺陷,并可提高其回归测试的效率。  相似文献   

18.
Techniques for detecting defects in source code are fundamental to the success of any software development approach. A software development organization therefore needs to understand the utility of techniques such as reading or testing in its own environment. Controlled experiments have proven to be an effective means for evaluating software engineering techniques and gaining the necessary understanding about their utility. This paper presents a characterization scheme for controlled experiments that evaluate defect-detection techniques. The characterization scheme permits the comparison of results from similar experiments and establishes a context for cross-experiment analysis of those results. The characterization scheme is used to structure a detailed survey of four experiments that compared reading and testing techniques for detecting defects in source code. We encourage educators, researchers, and practitioners to use the characterization scheme in order to develop and conduct further instances of this class of experiments. By repeating this experiment we expect the software engineering community will gain quantitative insights about the utility of defect-detection techniques in different environments.This work was conducted while the author was with the Department of Computer Science, University of Kaiserslautern, 67653 Kaiserslautern, Germany.  相似文献   

19.
In traditional engineering disciplines a preventative approach is used to tackle defects and thereby produce quality products and systems. A recent case study suggests that in software engineering a curative approach to finding defects and producing quality software may be the most practical way to proceed. Here, the argument for a curative approach to software quality is challenged, and suggestions are made on how appropriate component-based quality models, that contain both generic and domain-specific quality knowledge, may be used to support a preventative approach to producing quality software products and systems.  相似文献   

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

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