- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
异常结构对Java程序分析的影响.doc
异常结构对Java程序分析的影响 摘要:控制流、数据流、控制依赖等是软件任务执行中比较常用的进行程序分析、技术分析和理解程序的程序模式。可提供较完善的异常处理机制,是现阶段市场上流行的程序设计语言都基本具备的功能。本文着重分析了Java语言程序中的异常结构,并对该程序结构在分析技术方面产生的不同影响进行了简单阐述,希望在后期软件技术发展中有所借鉴。 关键词:异常结构 控制流分析 数据流分析 控制依赖分析 Java语言 中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2015)05-0000-00 修改源程序,是软件维护的重要组成部分,必须按照分析和理解程序、修改程序、重新验证程序三个步骤有计划、有针对性的进行修改工作。对整个源程序的全面、准确、迅速地分析和理解,是判断软件维护工作质量好坏的依据。而且,整个软件程序的理解必须以软件的可理解和文档的较高质量为基础,继而加强对程序功能和目标结果的理解;对程序中划分出来的程序系统结构、控制结构、数据结构和输入输出结构等各类结构信息的熟悉运用;对程序的相关数据流信息的来源、如何使用要及时掌握和广泛了解;对每条路径疏松的控制流信息的执行结果要做到准确掌握。只有如此,才能更一步提高对软件程序进行系统行的理解与掌握。 1概述 许多程序设计语言的异常处理机制,多出现在对错误问题的解决处理时却遇到健壮的程序,这种相对不匹配的情况。Java语言属于目前主流型使用软件,是具备异常处理机制的典型。它主要包括了对一个错误、异常信号的抛出和对获得的抛出的错误信号的正确处理两方面,即抛出异常和捕获异常。Java的关键字与它本身的异常处理机制中三个组成部分都有较密切的联系,下面就这些分别进行说明。 Throws:即后面跟随所有隐在的异常类型,是为方便客户程序员对该方法的控制,对客户程序员进行抛出异常这一环节。作为方法定义中的一部分,Java程序员必须将可以处理的潜在错误状态进行明确的指出,并利用所有可以用得上的该方法中的代码进行处理。这个新的方法的编写必须经Java编译器强制性操作整个过程。 Throw:即后面跟随异常对象。判断用户自定义异常对应错误在何种情况下算是产生的,这是throw语言的作用之一,属于抛出这个异常新对象时对该方法的一种调试功能。在这个过程中,编程者必须在程序选择较为合理的位置创建自定义异常的异常和对这个新的异常对象以throw语句形式进行抛出,以此作为系统不能识别和创建用户自定义异常的一种处理办法。 Try-catch-finally:即try块(警戒区)中对全部可能抛出异常代码部分的收集、处理。finally块是可变化的,try块中的catch 块中紧跟着所有的异常及其应该处理的部分,finally块一经确定,无论是否处于有异常产生的情况下都会执行处理功能的。对关闭文件和流、释放系统资源等方面的清理,必须在把控制权传输给其它程序之前通过这一方法进行处理。把系统恢复到原有状态,是finally块的最终目的。 依据研究发现,总程序数中try和throw语句程序分别占据了23.4%和24.6%,是异常处理机制广泛使用中的常用比例设计,这样不仅可以降低程序代码量,也是描述具体操作的代码与专门纠正错误的代码相分离的重要工具;但就异常处理机制的内部结构、内容而言,过程内部或过程之间的控制流极易受到continue、goto、exit 语句的类似结构的影响,这会成为信息结果不准确的诱因之一,从而造成在结构测试、回归测试、静态程序切片、动态程序切片、程序理解等软件工程任务应用中的严重错误。 上面内容就是先进软件的主流程序Java 程序中异常结构对控制流、 数据流、 控制依赖在分析技术应用的影响,是程序软件普遍具备的一种特性,是我们保障软件顺利应用必须时刻注意的问题。下面就此作出分析。 2异常结构对 Java程序静态分析的具体影响 所测试的程序在静态分析程序中无需执行就可扫描正文、直接分析程序的数据流和控制流、送出测试报告。 2.1异常结构影响控制流分析 控制流图以控制状态为描述主体,通过对系统控制转移路径的刻画和在特定数据驱动下具体状态的反映,将程序控制流从控制角度进行详细描述的一种图示方法。在软件应用中,数据流分析、 控制依赖分析等许多程序分析技术和结构测试、 回归测试等软件工程任务都在利用控制流图的描述信息。程序所有可能的执行路径,用语句层次上的控制流图表示;程序语句块用控制流图中的结点表示;程序语句块之间可能的控制转移用边表示。将异常结构引入语句层次的控制流图可以促进控制流信息更加准确地把握,换句话说,就是对控制流的整个程序分析必须对执行 try 语句的所有路径实行系统性研究。为了保障这一过程,控制流图进行四种有效路径的合理增加。一是当异常在try 块顺利完成且被finall
文档评论(0)