首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到15条相似文献,搜索用时 62 毫秒
1.
一种基于异常传播分析的数据流分析方法   总被引:8,自引:0,他引:8  
异常处理是一种用来检测异常并对其进行处理的技术.异常传播改变了程序原来的执行路线,从而改变了程序中的数据流.在进行数据流分析时,如果不考虑异常传播对其造成的影响,则得到的信息将是不准确的.在分析C++异常传播机制和异常传播对数据流分析影响的基础上,提出一种包含异常传播信息的函数间控制流图的构建方法.该控制流图可以清晰地表示出异常的隐式控制流和异常的传播路径;然后提出了基于异常传播分析的数据流分析方法,并给出相应的算法.该方法既克服了因忽略异常传播对数据流影响而造成分析结果不准确的不足,又有助于实现异常传播数据流分析的自动处理;最后用一个实例验证了该方法的可用性.该方法可以为结构测试、回归测试、程序切片等软件工程任务提供相关信息.  相似文献   

2.
一种基于异常传播分析的依赖性分析方法   总被引:7,自引:0,他引:7  
在分析异常处理结构对程序依赖性分析影响的基础上,对传统的控制流图进行改进,提出了一种新的能够描述包括异常处理结构在内的函数内和函数间的C++程序的依赖性分析模型,并给出了相应的构造算法.该方法既克服了因忽略异常处理结构对程序依赖性的影响而造成分析结果不准确的不足,又有助于实现基于异常传播的程序依赖性分析的自动处理.最后,对这种依赖性分析方法在程序切片中的应用作了进一步的探讨.  相似文献   

3.
赵雪峰  姜淑娟  张艳梅 《计算机工程》2011,37(11):94-96,102
现有异常传播分析方法大多局限于单个类内部,不能满足现实软件开发的需求。为此,提出一种面向对象程序的异常传播分析方法,在类控制流图的基础上构建面向对象异常传播分析(OEPAG)图,通过得到异常在类间的传播路径并确定类间关系,从而对控制流和数据流进行有效分析。应用结果表明,将OEPAG图用于含异常处理结构的程序切片时的结果比传统程序切片结果更准确。  相似文献   

4.
一个异常传播分析工具的设计与实现   总被引:1,自引:1,他引:0  
异常处理是一种用来检测异常并对其进行处理的技术,异常传播改变程序原来的执行路线,从而可能改变程序中的数据流、控制流和各种成分的依赖关系.在进行程序分析时,如果不考虑异常传播对其造成的影响,则得到的信息将是不准确的.本文设计并实现了一个分析C 程序中异常传播分析工具CETool.该工具可以有效地分析C 程序的异常传播,它既可以获得异常处理结构的局部信息,也可以获得异常处理结构的全局信息,这对于有效地分析异常的传播,分析异常传播路径,以及改进异常处理结构都有很大的帮助.  相似文献   

5.
异常处理是现代程序设计语言提供的用来提高软件健壮性的一种机制。由于在C^++的函数界面中并不要求声明该函数所能传播出的异常的类型,所以要想提高系统的健壮性,必须清楚在程序的执行过程中可能引发的异常、异常的传播路径等。然而在大型系统中,要想确定这些信息是非常困难的。本文针对C^++的异常处理机制,首先提出了一个描述C^++异常结构信息的模型,并把该模型应用于递归函数中。然后,描述了一个基于该模型的分析C^++程序异常结构信息的工具CETool。该工具能提供所有显式引发异常的有关信息,为系统中异常处理结构的改进和程序的结构测试提供有价值的信息。最后给出了该工具的实现方法和应用实例。  相似文献   

6.
异常处理是一种有效提高软件健壮性的方法,处理不当将导致严重的软件失效。提出一种通过分析Java程序异常信息、由开发平台给出异常处理代码提示的方法,以提高开发效率,并提出一种包含异常结构的Java程序异常控制流图构造方法,用于程序分析和优化。基于Eclipse开发环境,设计了一个异常信息分析插件,用于分析Java程序异常信息,给出了代码提示,生成了异常控制流图,以帮助开发人员更快更好地书写异常处理代码。  相似文献   

7.
C++程序中异常处理的分析与测试技术研究   总被引:2,自引:1,他引:2  
异常处理机制是一种运行时错误通知机制,将程序的正常控制代码和错误处理代码分离.然而异常机制的引入使得程序控制信息变得更为复杂;且开发人员一般难以熟练使用它,导致程序中会潜伏许多异常错误.扩展已有的显式异常分析技术,对隐式异常也进行了全面的分析并提出了过程间(内)控制流图的构造方法,并以此为基础给出了一个C++程序健壮性改进模型.同时还提出了针对异常的两种动态测试策略:基于约束求解的异常测试策略和统计结构性异常测试策略.最后实现了一个初步的异常分析与测试原型工具并进行了初步实验分析,其结果表明本文提出的分析与测试方法对程序质量有较大程度的提高.  相似文献   

8.
考虑程序中分支冲突和异常处理结构对控制流信息的影响,提出一种改进的程序可达基路径生成方法。分析不可达路径产生的原因及其判定方法,构建异常控制流图。在此基础上计算相关分支之间的关系,利用深度优先遍历方法得到程序的可达基路径集。实例分析结果表明,该方法能准确生成可达基路径集,满足基路径测试的要求。  相似文献   

9.
类间数据依赖分析是类间数据流测试的基础。本文通过分析类簇级测试中的异常传播对程序数据依赖的影响,提出一种包括异常结构在内的类间C++程序数据依赖分析方法,根据类间关系增量式地构造类间数据依赖图,并给出类间数据依赖图的构造算法。最后,在程序切片中应用了该数据依赖分析方法。结果证明,该方法通过分析异常传播对数据依赖的影响能够带来切片精度的提高。  相似文献   

10.
从异常处理的分析方法和测试技术两个方面概述当前对异常处理的研究现状,分析和比较了一些典型方法;简要介绍了在C 程序中异常测试技术改进和工具实现方面所做的工作;探讨了异常分析和测试的若干研究方向.  相似文献   

11.
Exception是一类特殊的对象,它在Java方法出错时被创建,并利用try/catch/finally机制抛出、处理异常。本文提出了一种合理的新方法,在系统依赖图中表示异常处理模块,利用图可迭性算法实现了Java程序切片。  相似文献   

12.
异常处理机制能增强程序运行的可靠性,提高软件的健壮性,但异常处理代码本身可能存在错误.由于它的特殊性。采用与测试普通代码同样的方法对其进行测试,通常效率不高而且很难达到预期的效果.在分析了利用断言违背策略进行软件故障注入技术的基础上,提出了将Java异常处理机制的特殊结构同断言违背策略、程序变异技术相结合,可以有效地测试异常处理代码。并设计工具来支持这种故障注入方法.  相似文献   

13.
薛岗  叶小虎  张楠  姚绍文 《计算机科学》2011,38(11):131-136
业务流程运行期间,外部或运行环境中的某些属性与流程设计时所设定的条件不一致时,将导致流程运行时的违例,违例处理方法涉及流程运行时违例的发现和处理。首先介绍了流程的违例及其分类;基于流程违例处理模式,使用CCS偶图对流程工作项级、案例级违例处理以及相关补偿处理进行分析和表述;在违例处理策略讨论的基础上,总结了违例处理模式的基本形式,并通过CCS偶图的动态特征分析了违例处理的动态行为。  相似文献   

14.
许瑾晨  郭绍忠  黄永忠  王磊  周蓓 《软件学报》2015,26(12):3088-3103
异常会造成程序错误,实现完全没有异常的浮点计算软件也很艰难,因此,实现有效的异常处理方法很重要.但现有的异常处理并不针对浮点运算,并且研究重点都集中在整数溢出错误上,而浮点类型运算降低了整数溢出存在的可能.针对上述现象,面向基于汇编实现的数学函数,提出了一种针对浮点运算的分段式异常处理方法.通过将异常类型映射为64位浮点数,以核心运算为中心,将异常处理过程分为3个阶段:输入参数检测(处理INV异常)、特定代码检测(处理DZE异常和INF异常)以及输出结果检测(处理FPF异常和DNO异常),并从数学运算的角度对该方法采用分段式处理的原因进行了证明.实验将该方法应用于Mlib浮点函数库,对库中600多个面向不同平台的浮点函数进行了测试.测试结果表明:该方法能够将出现浮点异常即中断的函数个数从90%降到0%.同时,实验结果验证了该方法的高效性.  相似文献   

15.
异常处理——一种提高软件健壮性的方法   总被引:5,自引:3,他引:5  
Exception handling is a technique that tests and handles exception events. Unlike the traditional methods that usually deal with exceptions at later design and implementation phases and easily result in many problems, we emphasis that sufficient attention should be paid to software exception handling during the development of the soft-ware requirements definition. By enforcing this policy through all phases of software development, the level of ro-bustness can be improved considerably. In this paper, the concepts of exception handling are firstly introduced, then the methods of exception handling are discussed, all kinds of exception handling methods and tools are also compared.The current problems and future directions are analyzed at the end of the paper.  相似文献   

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

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