首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 46 毫秒
1.
软件可靠性工程是对软件的质量进行管理和控制的实用性学科,而软件可靠性模型又是软件可靠性工程的基础之一,为了保证靠性模型的估测精度,好的软件可靠性模型应该包括对测试覆盖的说明,并且能够反映的错误修复过程。本文在基于测试覆盖的NHPP模型的基础上,讨论了一有反映软件错误修复过程的非齐次马尔可夫模型。  相似文献   

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

3.
基于谱的错误定位(SBFL)方法能帮助程序员减小软件调试的困难。作为一种轻量方法,SBFL只需收集测试用例的覆盖信息和测试结果,计算程序每条语句的运行特征。众多SBFL方法,将四个运行特征组合成不同的可疑度计算公式。然而,这些公式受固定参数的影响,无法适应不同的程序集。因此,提出一种机器学习方法,能自动确定特定程序集的可疑度计算公式。首先,收集已标注错误语句的程序旧版本;再将错误语句与正确语句的运行特征两两相减,构造为训练集的一个样本;最后基于Weka的分类算法,学习到线性函数,作为该程序的错误定位模型。在Siemens程序包、space和gzip三个基准数据集上,使用Logistic、SGD、SMO和LibLinear学习到的模型,性能都要优于SBFL方法。  相似文献   

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

5.
为提高基于程序切片和覆盖信息的传统错误定位技术的效率,提出一种基于程序动态切片和贝叶斯相结合的错误定位方法。针对程序执行轨迹计算动态切片,减少搜索空间;在切片后覆盖信息的基础上,利用贝叶斯公式计算相关语句的可疑度;根据语句可疑度降序排列语句,依次检查直到找出真正的错误语句。实验结果表明,该方法能够在一定程度上提高软件错误定位的效率与精度。  相似文献   

6.
张蓓  张树东 《计算机测量与控制》2017,25(3):123-125, 129
在软件开发和后期维护的过程中,进行软件调试来定位错误并修正错误是其中最复杂且成本最大的一部分;文章针对现有基于神经网络的软件错误定位方法中的权值和阈值设定不方便、鲁棒性差等问题,结合正交实验设计思想和遗传算法(Genetic Algorithm),提出了一种基于增强遗传BP神经网络的软件错误定位方法;并将其同基于GA-BP神经网络的和基于BP神经网络的定位方法都在MATLAB上进行了实验,实验数据来源西门子测试集,从结果上看,基于增强GA-BP神经网络的软件错误定位方法在定位错误的效率和精确度上都有一些进步。  相似文献   

7.
让我感到遗憾的是,WPS 2009的发布几乎没引起任何反响。当沿着积极的方向,找不到满意的答案后,我决定掉转180度,假设“WPS是一款错误定位的软件”,再想下去。  相似文献   

8.
移动互联网技术的快速发展,对移动终端定位方法提出了新的要求.针对传统方法在功耗、精度、通用性方面往往不能兼顾的问题,在充分挖掘个人行为习惯的基础上,提出了一种基于隐马尔可夫模型的定位算法.该算法根据地图信息对基站覆盖区域进行路段划分,通过记录个人的行走轨迹,利用其统计规律来辅助建立GSM信号的隐马尔可夫模型,通过测量基站的信号强度序列,完成对当前位置给出较为精确的估计.实验结果表明该算法在保证低功耗的同时有效提高了定位精度.  相似文献   

9.
葛毅  茅兵  谢立 《计算机科学》2009,36(1):252-255
软件漏洞攻击威胁日益严重.其中基于内存腐败漏洞的攻击最为普遍,如缓冲区溢出和格式化串漏洞.提出一种针对内存腐败漏洞攻击的自动错误定位方法.基于内存更新操作记录,可以回溯找到程序源代码中腐败关键数据的语句,从而提供有益的信息修复漏洞并生成最终补丁.  相似文献   

10.
张建华  张文博  徐继伟  魏峻  钟华  黄涛 《软件学报》2014,25(11):2702-2714
随着虚拟化技术的发展与普及,越来越多的企业将关键业务系统部署到了虚拟化平台上。虚拟化技术降低了企业的硬件和管理成本,但同时也给系统的可靠性带来了严峻挑战。传统的方法通过运行时系统状态备份的方法来提高系统的失效恢复能力,但该方法会引入了巨大的系统开销。提出了一种基于隐马尔可夫模型的系统失效恢复性能优化方法。通过对系统运行时状态的预测分析,计算系统未来运行状态的概率趋势,并在运行过程中动态调整系统失效恢复功能与正常业务功能之间的资源分配,从而降低了系统的运行时性能开销,提高了业务系统服务能力。实验分析显示,该方法可以在保障系统可靠性的同时有效地降低系统的性能开销,在系统运行状态稳定的情况下,最高可以降低2/3的系统响应时间。  相似文献   

11.
针对已有测试用例选择方法在提高错误定位有效性方面存在局限性的问题,首先,定义“失效覆盖向量相似度优先排序”准则,将执行路径与失效执行路径相似的成功测试用例赋予较高的优先级;然后定义“失效覆盖等价划分优化选择”准则,选择能够最大区分失效执行语句的成功测试用例集合;在此基础上,建立测试用例优选模型(effective selection, ES).不同于已有方法,ES充分利用失效执行路径来提高错误定位的有效性.该模型被应用于优选Siemens测试用例集合,其结果被应用于Tarantula等4种错误定位方法.结果表明,ES在约简率Reduction和衡量错误定位有效性的Expense_increase两个指标方面,均优于已有的基于语句和基于向量的测试用例约简方法.ES不但可以获得97%以上的约简率,提高错误定位的效率,而且具有较低的Expense_increase,显著提高了错误定位的有效性.  相似文献   

12.
李乐平  张宇霞  刘辉 《软件学报》2023,34(6):2690-2707
在软件开发中,错误定位是修复软件缺陷的必要前提.为此,研究者们提出了一系列自动化的错误定位方法.这些方法利用了测试用例运行时的覆盖路径和运行结果等信息,大幅减少了定位错误代码的难度.在竞争性众包软件开发中,往往存在多个竞争性实现(解决方案),提出一种专门面向众包软件工程的错误定位方法.主要思想是,在定位错误语句时,将其多个竞争性实现作为参考程序.针对程序中的各个语句,在参考程序中搜索参考语句,并利用参考语句计算其错误概率.给定一个错误程序和相应的测试用例,首先运行测试用例并使用广泛流行的基于频谱的错误定位方法计算其初始错误概率.然后,根据此语句与其参考语句的相似性调整错误概率.在118个真实的错误程序上进行实验,结果表明所提方法相比基于频谱的方法,定位错误的成本降低了25%以上.  相似文献   

13.
基于数据链的软件故障定位方法   总被引:2,自引:0,他引:2  
杨波  吴际  刘超 《软件学报》2015,26(2):254-268
软件中存在的故障很多与数据流紧密相关,对数据流故障定位是一个具有相当难度的研究问题.通过分析变量的定义-使用关系和变量间的依赖关系,并跟踪程序运行时各种操作对变量值的影响,即,变量操作状态的变化等基本信息,提出了一种综合考虑变量操作状态变化以及变量操作状态间依赖关系的数据链模型,利用该模型对程序中数据流故障进行定位.经过实验验证,所提出的基于数据链的故障定位方法的定位结果与基于定义-使用对、基于程序切片、基于概率依赖图和基于语句覆盖这4种典型的故障定位方法进行了对比,取得了更好的定位效果.  相似文献   

14.
软件多缺陷定位(Multiple Fault Localization,简称MFL)尝试在含有多个缺陷的软件程序中自动标识出这些缺陷所在的位置.传统的缺陷定位研究一般假设被测软件内仅含有一个缺陷,而实际情况下软件内往往包含多个缺陷,因此MFL问题更加贴近实际场景.当程序中存在多个缺陷时,由于缺陷数量难以准确估计,同时缺...  相似文献   

15.
基于模型的软件成本估计方法   总被引:1,自引:0,他引:1  
准确的估计是进行有效的项目计划、跟踪和控制的基础.基于模型的成本估计方法是软件成本估计研究的重点,它可分为算法驱动式模型、数据驱动式模型以及复合式模型.依照该分类模式,介绍了典型的软件成本估计方法,并从内部属性及外部评价两个维度共计11个指标对每类方法的假设前提、适用范围、优势及局限性进行深入的分析.最后,对软件成本估计研究的未来发展进行探讨.  相似文献   

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

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

19.
检测故障是繁琐而耗时的,为了提高传统软件故障定位方法的效率以及精确度,提出了一种基于频谱的故障定位新方法;充分利用了失败的测试用例与故障之间的关系,通过使用频谱增强的方式,采取逻辑与运算的关键技术和方法,对失败的测试用例进行精简,优化失败测试用例中的频谱信息,从而得到频谱增强后的测试用例,克服了冗余测试用例对定位效果的消极影响,再根据新的频谱信息计算可疑度值,最后生成优化后的可疑度排序列表;首次将频谱增强的方法同时运用到单故障与多故障程序场景中,在包含植入故障的西门子程序和真实故障的Defects4j程序中,经实验检测证明本研究方法能够显著减少代码检查的范围,尤其是在高性能范围内(EXAM5%),并且仅通过检查Top-1至少能有效地定位超过原有约20%的故障,结果表明基于频谱增强的故障定位方法有效提升了检测率,可以更好地帮助程序员精准定位故障位置。  相似文献   

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

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