首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 218 毫秒
1.
异常处理是程序开发的一个重要内容,异常处理的好坏关系到程序的友好程度和系统的稳定性。C++是一种纯面向对象的编程语言,其异常处理机制和普通的编程语言有很多不同的地方,有力地增强了C++程序的健壮性和容错性。文中从介绍其运行步骤入手,通过一个简单的例子,详细阐述了C++异常处理机制的规则和栈展开技术,并扼要地对比了函数调用和异常处理的异同点,以便更好地在C++面向对象程序设计中正确使用异常处理机制。  相似文献   

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

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

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

5.
本文描述了一个用于分析C^++程序结构的系统。该系统根据关系模型从C^++程序中提取出各种关系信息并将其存贮到数据库中供分析源程序之用。借助该系统构造了一个Demeter/C^++法则的检测工具。  相似文献   

6.
异常处理技术在C++中的编程实现   总被引:2,自引:0,他引:2  
异常处理是C++语言的重要语言机制,正确地处理异常对程序的可靠性、健壮性是十分重要的.本文回顾了异常处理技术的概念和思想,介绍了C++异常处理技术中涉及到的常见问题,对异常处理的性能与代价进行了分析,以便更好地在面向对象程序设计中正确使用异常处理技术进行编程实现.  相似文献   

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

8.
异常处理机制能增强程序运行的可靠性,提高软件的健壮性.然而,如果异常处理机制使用不当,会带来许多潜在的错误,因而很有必要对程序的异常处理结构进行测试.提出了一种识别被测程序中的所有异常变量"定义-使用"关系的方法,并使用一个异常的定义-捕获度量来计算异常定义-使用链的测试覆盖.最后设计了一种异常分析及测试的原型工具.  相似文献   

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

10.
针对异常发生时无法及时有效利用异常发生的上下文信息的问题,在堆栈回溯获得上下文信息的基础上,提出一种能够记录异常信息便于线下分析,同时能够基于预设规则库支持线上对系统应用进行重构的异常处理方法。对PowerPC构架下的堆栈结构进行研究并设计基于堆栈回溯的函数溯源算法;对系统工作状态进行分析抽象,采用有限状态机建立系统异常处理时的状态迁移模型,阐述异常处理的设计实现过程。实验结果表明,该方法能够有效实现对异常的线上线下处理,提升了改进系统应用缺陷的效率,增强了系统应用的容错性和健壮性。  相似文献   

11.
As aspects extend or replace existing functionality at specific join points in the code, their behavior may raise new exceptions, which can flow through the program execution in unexpected ways. Assuring the reliability of exception handling code in aspect-oriented (AO) systems is a challenging task. Testing the exception handling code is inherently difficult, since it is tricky to provoke all exceptions during tests, and the large number of different exceptions that can happen in a system may lead to the test-case explosion problem. Moreover, we have observed that some properties of AO programming (e.g., quantification, obliviousness) may conflict with characteristics of exception handling mechanisms, exacerbating existing problems (e.g., uncaught exceptions). The lack of verification approaches for exception handling code in AO systems stimulated the present work. This work presents a verification approach based on a static analysis tool, called SAFE, to check the reliability of exception handling code in AspectJ programs. We evaluated the effectiveness and feasibility of our approach in two complementary ways (i) by investigating if the SAFE tool is precise enough to uncover exception flow information and (ii) by applying the approach to three medium-sized ApectJ systems from different application domains.  相似文献   

12.
吴青  应时  贾向阳 《计算机科学》2011,38(4):170-174
面向服务软件异常处理的开发工作量大且程序逻辑复杂。若只在设计阶段后期或是编码阶段考虑异常处理功能的开发,则可能由于没有充分、完整、系统地考虑待处理的异常而严重影响软件整体可靠性。针对面向服务软件中异常处理机制的特点,提出一种基于着色Petri网的异常处理模型。通过对异常处理组成元素和异常处理模式分别进行形式化描述,可提供可重用的异常处理模型元素。设计者根据面向服务软件中异常处理的实际需求,使用异常处理模式连接异常处理组成元素,形成一个完整的异常处理模型。利用该模型可以精确描述面向服务软件中异常处理总体方案,便于辅助设计人员检测异常处理设计方案中的缺陷。  相似文献   

13.
异常处理机制是Java程序设计中的一个重要方面,正确使用异常处理的策略和方法,能够确保Java程序结构的清晰性、易读性和健壮性。分析了Java异常的体系结构,阐述了异常分类与处理机制,提出了异常处理的一般原则和一种异常处理框架,并结合实际应用对该框架进行了详细描述。  相似文献   

14.
Linguistic mechanisms for exception handling facilitate the production of reliable software and play an important role in fault tolerant computing. This paper describes the functional semantics of a Pascal-like language which supports exception handling and data abstraction. A program with exceptions is considered as having a standard semantics, as well as an exceptional semantics for each exception that may be signaled during its execution. Standard functional semantics methods provide rules to obtain the function representing the standard semantics. In this paper, we provide rules to determine the functions representing the exceptional semantics. We also describe a method for specifying and verifying the correctness of implementation of data types with exceptions.  相似文献   

15.
A mechanism is proposed for binding exception handlers to exceptions. Hierarchical exception classes can be defined and changed during program execution. In addition, the action taken when an exception of a particular class is raised depends upon the type of the current exception handler for that class. The mechanism can be implemented in programming languages that allow runtime determination of an identifier's binding; most dynamically scoped programming languages meet this criterion.  相似文献   

16.
Java异常处理机制的研究   总被引:7,自引:0,他引:7  
杨厚群  陈静 《计算机科学》2007,34(3):286-289
异常处理是Java语言的重要语言机制,正确、合理地处理异常对程序的可靠性、健壮性是十分重要的。在分析了异常处理技术的概念和思想后,对异常处理提出了指导原则,并针对检查型异常和非检查型异常的差异,探讨了对应的解决措施。  相似文献   

17.
异常的检测和处理是工作流系统执行过程中必须解决的关键性问题之一.给出了异常的分类,并给出了异常自身及其处理方法的形式化描述;实现了利用消息传递机制作为异常的检测方法,并结合异常适应库来提供异常处理的执行策略和处理措施;通过为相应的措施设计特定的操作原语,从而为其转变为实际的编码提供了可能.  相似文献   

18.
Since the signature of an Ada subprogram does not specify the set of exceptions that the subprogram can propagate, computing the set of exceptions that a subprogram may encounter is not a trivial task. This is a source of error in large Ada systems: for example, a subprogram may not be prepared to handle an exception propagated from another subprogram several layers lower in the call-tree. In a large system, the number of paths in exceptional processing is so great that it is unlikely that testing will uncover all errors in inter-procedural exception handling. Nor are compilers or code inspections likely to locate all such errors. Exception handling is an area where static analysis has a high potential payoff for systems with high reliability requirements. We discuss fundamental notions in computing exception propagation and describe an analysis tool that has proved to be effective in detecting inconsistencies in the exception-handling code of Ada applications.  相似文献   

19.
基于多Agent的Web服务异常处理模型   总被引:1,自引:0,他引:1  
为有效解决Web服务中存在的各种异常,结合多Agent的特性,提出了一种基于多Agent系统的异常处理模型。该模型利用了Agent的协作性、推理和自学习的特性,使异常得到有效地捕获和处理。同时,也为用户提供了友好的异常提示信息,并保证了Web服务器信息的安全性。  相似文献   

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

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