异常传播分析技术及其应用研究
【摘要】:
随着软件规模的扩大,程序复杂度的增强,对程序的可靠性和健壮性的要求越来越高。异常处理机制是程序设计语言提供的一种用来检测异常并对其进行处理的技术。使用异常处理机制时,一个必须考虑的问题是异常的传播。引发异常的位置不一定是处理异常的位置,异常可能传播出它被引发的函数。异常的传播会引发程序的提前终止,改变程序原来的执行路线,从而改变程序中各种数据之间的控制关系和依赖关系;异常的传播增加了函数之间的耦合,给程序的测试、理解和维护带来了困难。异常传播如果处理不当,会直接影响软件的可靠性和健壮性。因此,对异常传播分析技术及其应用的有关问题进行研究不仅具有重要的理论意义,也具有广阔的应用前景。
本文在对C++的异常传播机制进行分析的基础上,首先建立了C++程序的异常传播分析模型,分析了异常传播路径。然后对包括异常传播的C++程序中控制流、数据流、控制依赖和数据依赖的分析方法进行了研究,并积极探索其在软件工程任务中的应用。最后对异常传播分析工具的有关实现问题进行了探讨。
本论文取得的成果主要包含如下几个方面:
·为了分析C++程序中异常的传播,我们在充分研究C++异常处理机制的基础上,提出一种适于分析C++程序的异常传播的分析模型,该模型可以计算一定范围内(如一个类,一个函数等)可能引发异常的类型、可能传播出异常的类型等。针对递归函数本身的特殊性,提出一种适于递归函数的异常传播分析方法,该方法比现有的递归函数的异常传播分析方法更为简单。开发了基于该模型的异常分析辅助工具,使用该工具可以帮助程序的开发人员发现程序中潜在的问题,从而为异常处理结构的改进提供依据。
·为了解决目前在分析异常传播路径中表示方法过于复杂的问题,我们提出了一种新的异常传播的表示方法——异常传播图,它由组成程序的各个函数的简化的异常控制流图组成。在该异常传播图上,异常的传播路径一目了然,并实现了异常传播路径的可视化显示。与目前已有方法相比,这种异常传播图更简洁、直观、有效。
·为了分析异常传播对程序控制流、数据流、控制依赖和数据依赖的影响,我们提出了一种适于分析包括异常传播的C++程序的控制流、数据流、控制依赖和数据依赖的分析方法。通过这种分析方法获得的信息,应用到软件的结构测试,可以提高测试的效率和异常处理代码的测试覆盖率;应用到程序切片中,可以提高程序切片的精确度。
|
|
|
|
1 |
赵东范;基于数据流表达式的程序数据流分析算法[J];长春邮电学院学报;1997年02期 |
2 |
余建军,方智敏,濮阳槟;C++编译器中的C++异常处理机制[J];计算机应用;2004年S2期 |
3 |
姜淑娟;徐宝文;史亮;;一种基于异常传播分析的数据流分析方法[J];软件学报;2007年01期 |
4 |
郑云;一种检查面向对象程序中数据流异常的方法[J];系统工程与电子技术;2001年01期 |
5 |
姜淑娟;徐宝文;史亮;周晓宇;;一种基于异常传播分析的依赖性分析方法[J];软件学报;2007年04期 |
6 |
吕怀莲;;一种改进的数据流分析方法[J];硅谷;2009年13期 |
7 |
蓝雯飞;C++的异常处理技术探讨[J];微计算机应用;2002年06期 |
8 |
孙瑞志,史美林,杨武勇;工作流管理系统异常处理的方法与层次[J];计算机工程与应用;2001年21期 |
9 |
侯捷;刘永丹;;JAVA语言的异常处理——《Practical Java》中文版精彩选读[J];程序员;2003年09期 |
10 |
吴珍发;VB.NET中的异常处理技术研究[J];莆田学院学报;2004年03期 |
11 |
李东来,韩燕波,王建武,喻坚;面向服务应用中服务可用性及其引发的异常处理研究[J];计算机研究与发展;2004年12期 |
12 |
王力翔,冀力强,茆邦琴,时龙兴;嵌入式CPU异常处理的设计及其硬件实现[J];半导体技术;2001年08期 |
13 |
王婉湘;基于案例推理的工作流异常处理研究[J];计算机与数字工程;2005年06期 |
14 |
孟大伟;;浅析JAVA编程中异常处理的方法与技巧[J];硅谷;2009年23期 |
15 |
郭涛,张东英,高曙;关于变电站异常处理专家系统设计的几点思考[J];电力系统及其自动化学报;2002年06期 |
16 |
刘洪文;;DELPHI中异常处理方法[J];黑龙江科技信息;2003年09期 |
17 |
赵海东,蔡东齐
,郭治国;Windows2000、XP下异常捕获及处理[J];电脑学习;2005年05期 |
18 |
卢丹;小林良岳;中山健;前川守;;Java字节码异常处理中信息流的分析[J];应用科技;2007年02期 |
19 |
高德龙;;Java程序设计中异常处理技术浅析[J];电脑知识与技术;2009年11期 |
20 |
唐发根,钱红兵;Ada软件数据流分析方法及其实现[J];北京航空航天大学学报;1997年01期 |
|