首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 140 毫秒
1.
基于软件实现的软错误容错方法不需要硬件开销,被认为是一种高效的软错误容错方法,而动态的实现这种方法能覆盖更多种类型的程序,因而能覆盖更多的软错误,分析硬件软错误对程序执行时代码和数据的逻辑影响,并建立了硬件软错误条件下程序运行可靠性评估模型.本文的工作为基于软件动态软错误容错算法的提出提供了理论基础,也为程序可靠性的评估提供了一种方法.我们依据体系结构层硬件对指令执行的影响将硬件构件进行分类,并分析了不同的硬件构件对程序代码和数据的逻辑影响.基于软错误对程序代码和数据的影响模型,建立了软错误条件下程序运行可靠性评估模型.最后,在实验中,对软错误条件下程序影响模型和程序运行可靠性评估模型进行了验证,实验结果证明了本文的分析和评估结果.  相似文献   

2.
把管理科学与工程中的前沿理论“消错学”应用于软件项目管理,通过建立软件项目管理的消错模型,并用消除错误的“十五、六、三”法来分析软件项目管理中错误的发生原因和机制以及提出消除错误的方法.并结合实例说明该模型的具体应用过程,为研究和发现软件项目管理中出现错误的规律提供一种理论模型和方法,也为软件项目管理实践提供参考.  相似文献   

3.
赵冬晖 《计算机工程》2008,34(13):46-48
针对现有动态更新方法缺乏处理已存在错误状态的被更新软件的能力,该文基于POLUS的动态更新框架,分别提出在动态更新性能时处理线程死锁、内存管理错误和数据结构错误的启示性修复方案。实验结果证明,各修复方案都能够成功地排除错误状态,实现修复目的。  相似文献   

4.
本篇文章列出了软件错误的不同分类方法 ,并对这些不同分类方法进行了比较。分析了引起软件错误的原因及软件发生错误时所具有的特征。  相似文献   

5.
针对星载软件系统因宇宙射线和环境扰动而产生的软件错误及错误传播问题,研究星载软件系统错误传播分析方法.利用该方法从信号和模块2个层面评测软件的可靠性,并根据结果对系统信号或模块的脆弱性进行分析,找出系统较为脆弱的信号与模块,以及最可能传播错误的信号传播路径.定义信号与模块的错误传播率、暴露率等参数,设计参数的计算方法,...  相似文献   

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

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

8.
空间辐射环境中,大量的宇宙射线经常导致星载计算机出现瞬时故障,这些瞬时故障致使程序执行出现数据错误或者控制流错误。针对瞬时故障导致的程序错误,本文提出了一种软件实现的故障检测算法SITFT,它结合软件复算和标签分析的方法,既可以检测程序运行中的数据错误,又可以有效检测控制流错误。故障注入实验的结果表明,SIT-FT算法在性能开销比源程序增加58%~111%,存储开销增加153%~225%的前提下,使程序执行出现错误结果的情形比源程序减少了49.0%~73.2%。  相似文献   

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

10.
姜淑娟  张旭  王荣存  黄颖  张艳梅  薛猛 《软件学报》2021,32(7):2166-2182
软件错误定位是一项耗时又费力的工作,因此如何提高软件错误定位的自动化程度一直以来都是软件工程领域研究的热点.现有的基于频谱的错误定位方法很少利用程序的上下文信息,而程序的上下文信息对错误定位至关重要.针对这一问题,提出了一种基于路径分析和信息熵的错误定位方法FLPI.该方法在基于频谱信息技术的基础上,通过对所有执行路径...  相似文献   

11.
The empirical assessment of test techniques plays an important role in software testing research. One common practice is to seed faults in subject software, either manually or by using a program that generates all possible mutants based on a set of mutation operators. The latter allows the systematic, repeatable seeding of large numbers of faults, thus facilitating the statistical analysis of fault detection effectiveness of test suites; however, we do not know whether empirical results obtained this way lead to valid, representative conclusions. Focusing on four common control and data flow criteria (block, decision, C-use, and P-use), this paper investigates this important issue based on a middle size industrial program with a comprehensive pool of test cases and known faults. Based on the data available thus far, the results are very consistent across the investigated criteria as they show that the use of mutation operators is yielding trustworthy results: generated mutants can be used to predict the detection effectiveness of real faults. Applying such a mutation analysis, we then investigate the relative cost and effectiveness of the above-mentioned criteria by revisiting fundamental questions regarding the relationships between fault detection, test suite size, and control/data flow coverage. Although such questions have been partially investigated in previous studies, we can use a large number of mutants, which helps decrease the impact of random variation in our analysis and allows us to use a different analysis approach. Our results are then; compared with published studies, plausible reasons for the differences are provided, and the research leads us to suggest a way to tune the mutation analysis process to possible differences in fault detection probabilities in a specific environment  相似文献   

12.
Perturbation testing is an approach to software testing which focuses on faults within arithmetic expressions appearing throughout a program. This approach is expanded to permit analysis of individual test points rather than entire paths, and to concentrate on domain errors. Faults are modeled as perturbing functions drawn from a vector space of potential faults and added to the correct form of an arithmetic expression. Sensitivity measures are derived which limit the possible size of those faults that would go undetected after the execution of a given test set. These measures open up an interesting view of testing, in which attempts are made to reduce the volume of possible faults which, were they present in the program being tested, would have escaped detection on all tests performed so far. The combination of these measures with standard optimization techniques yields a novel test-data-generation method called arithmetic fault detection  相似文献   

13.
Fault localization is an important and challenging task during software testing. Among techniques studied in this field, program spectrum based fault localization is a promising approach. To perform spectrum based fault localization, a set of test oracles should be provided, and the effectiveness of fault localization depends highly on the quality of test oracles. Moreover, their effectiveness is usually affected when multiple simultaneous faults are present. Faced with multiple faults it is difficult for developers to determine when to stop the fault localization process. To address these issues, we propose an iterative fault localization process, i.e., an iterative process of selecting test cases for effective fault localization (IPSETFUL), to identify as many faults as possible in the program until the stopping criterion is satisfied. It is performed based on a concept lattice of program spectrum (CLPS) proposed in our previous work. Based on the labeling approach of CLPS, program statements are categorized as dangerous statements, safe statements, and sensitive statements. To identify the faults, developers need to check the dangerous statements. Meantime, developers need to select a set of test cases covering the dangerous or sensitive statements from the original test suite, and a new CLPS is generated for the next iteration. The same process is proceeded in the same way. This iterative process ends until there are no failing tests in the test suite and all statements on the CLPS become safe statements. We conduct an empirical study on several subject programs, and the results show that IPSETFUL can help identifymost of the faults in the program with the given test suite. Moreover, it can save much effort in inspecting unfaulty program statements compared with the existing spectrum based fault localization techniques and the relevant state of the art technique.  相似文献   

14.
空指针引用故障模型与测试方法研究   总被引:3,自引:1,他引:2  
空指针态引用故障在使用指针的程序中是普遍存在的,采用动态测试方法进行测试难以准确定位故障源。而现有的静态分析方法主要存在漏报和误报过多的情况。针对这些问题,提出了一种基于指针映射关系分析的测试方法,给出了面向故障的指针映射集的构造规则,以此为基础建立了故障模型。通过指针映射集和故障模型,可以自动检测空指针引用内存故障,提高了测试效率。在分析过程中,还综合应用了控制流图和路径条件,提高了测试结果的精度。  相似文献   

15.
Fault-based testing attempts to show that particular faults cannot exist in software by using test sets that differentiate between the original program (hypothesized to be correct) and faulty alternate programs. The success of this approach depends on a number of assumptions, notably that programmers are competent insofar as they only commit relatively trivial faults, and that faults only couple infrequently. Fault coupling occurs when test sets are able to differentiate between the original program and faulty alternate programs when faults occur in isolation, but not when they occur in combination; it is a complicating factor in fault-based testing. Fault coupling is studied here within the context of finite bijective functions. A complete mathematical solution of the problem is possible in this simplified case; the results indicate that fault coupling does indeed occur infrequently, and are thus in agreement with the empirical results obtained by others in the field. One surprising result is that certain kinds of test set are able to avoid fault coupling altogether.  相似文献   

16.
Fault-based testing focuses on detecting faults in a software. Test data is typically generated considering the presence of a single fault at a time, under the assumption of coupling hypothesis. Fault-based testing approach, in particular mutation testing, assumes that the coupling hypothesis holds. According to the hypothesis, a test set that can detect presence of single faults in an implementation, is also likely to detect presence of multiple faults. In this paper it is formally shown that the hypothesis is guaranteed to hold for a large number of logical fault classes.  相似文献   

17.
由于表达式LRAUC错误对程序中各类错误的广泛覆盖性,本文以表达式LRAUC错误为检测对象,研究了表达式测试方法。本文首先阐述了当前表达式测试方法理论研究的局限性;然后,为了解决处于程序上下文中的一般表达式测试问题,研究了表达式错误/失效过程,并对影响该过程复杂性的因素进行了简化,提出了表达式LRAUC单路测试方法;阐述了此方法的具体实现,给出了表达式LRAUC单路测试约束集构造算法。  相似文献   

18.
Execution patterns and fault distribution characteristics of a program will affect the failure process and thus reliability estimates. The failure process of a software system is influenced by many factors, and traditional software reliability engineering has found it difficult to isolate the effect of each individual factor. A simulation approach is used to investigate the effects of fault distribution, execution pattern and program structure on software reliability estimates. A reliability simulation environment (RSIM) is extended by introducing variable fault distribution patterns in its code generation phase. Flow control points allow varying the execution frequency of different parts of a program. The simulation results show that fault distribution patterns and execution patterns have dramatic effects on fault exposure rate. If the fault distribution is non‐uniform, a non‐uniform code execution exposes faults more efficiently and effectively than uniform execution. Results also show that the structure of a program affects fault exposure rate and testing time required. Copyright © 2000 John Wiley & Sons, Ltd.  相似文献   

19.
运用测试集对程序错误语句定位的算法被统称为TBFL方法。目前通行的TBFL算法一般都没有利用测试员、程序员关于测试用例和程序的先验知识,致使这些“资源”白白浪费。随机TBFL就是一类新型TBFL方法,其精神就是在随机理论的框架下,把这些先验知识和实际测试活动结合起来,从而对程序错误语句更好地定位。随机TBFL算法可以看成是这种类型算法的一般“模式”,人们可以从这个一般的模式里开发出不同的算法。基于测试结果调整语句出错概率的方法就是将随机TBFL算法中关于程序、测试集的先验知识和具体测试活动分离开来,根据测试结果再先后注入人们对测试集和程序的先验知识,从而更好地定位错误语句。在一些实例上,通过把新算法和随机TBFL算法进行对比,发现新算法是可取的。提出了三个有关不同TBFL算法比较标准,从这三个标准考察,新算法在上述实例上也是良好的。  相似文献   

20.
一种回归测试后的错误定位方法   总被引:1,自引:0,他引:1  
测试和调试之间的关系是极端密切的。回归测试是软件测试和维护过程中的一个重要活动。在程序中找出错误是一个复杂的过程,它涉及到理解程序的用途、结构、语意和导致错误的测试的相关特征。本文提出了一种基于Chopping技术进行错误定位的方法。这种方法反复利用调试信息和回归测试结果,通过从程序中抽取出与特定的语句有关的、 、相对原来的程序小得多的语句集,实现准确、快速的错误定位。  相似文献   

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

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