Java程序分层及概率依赖性分析

来源 :东南大学 | 被引量 : 0次 | 上传用户:haidiaiqing
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序依赖性分析是软件工程领域中一项重要而基础的活动,它是对已有程序分析与理解的基础,并在程序切片、逆向工程、软件测试以及软件重构等软件工程各个领域都有着重要的意义。Java语言由于其优越的跨平台性,在异构网络系统中使用愈加频繁。随着软件产品的急剧增多,越来越多的遗产代码需要进行分析、理解、复用,对Java程序进行依赖性分析的必要性也与日俱增。由于Java程序设计语言完全面向对象的特性,现有的依赖性方法已不能完全满足其分析要求。本文在回顾传统依赖性分析方法基础之上,详细阐述了一种分层次的粗粒度依赖性分析方法,按照自顶向下,逐步求精的原则依次分析Java程序在包级别、类级别以及方法级别上的依赖关系,并在语句级别的分析中,按照按需细化的原则,只对所关心的语句进行依赖性分析,降低了系统依赖性分析的代价。在语句级别的依赖性分析中,本文还进一步讨论了程序执行期间语句执行的概率信息,并提出了考虑语句执行概率的依赖性分析方法。分别分析程序中不同的控制结构与方法调用方式,对其后续程序语句的执行概率的影响,从而更加准确地描述程序在执行期间的依赖关系。本文介绍了分层次及概率依赖性分析在软件重构、软件度量以及软件测试等方面的一些应用。通过应用依赖性分析技术于软件重构中,对软件重构的指标进行量化度量,并提出了基于模糊聚类技术的软件重构方法,可以对软件重构活动进行相对客观的指导;基于对类中方法数目与它们之间的概率依赖信息综合考虑,本文对类内聚度缺乏度量提出一种改进,进一步提高类内聚度缺乏度量的准确性。最后,在进行理论分析的基础上,本文给出了实现以上研究内容的原型系统的实现细节,并展望了未来的工作方向。
其他文献
近十几年来,信息技术给图书馆带来了前所未有的冲击和影响,数字资源呈现出形态复杂、种类繁多、分布广泛、平台各异的特点。为了降低读者检索的难度,从根本上解决信息爆炸和检索
随着计算机技术,特别是Internet技术的迅猛发展,在各行各业都逐步实现了数据、信息的计算机化管理。但是这些信息和数据是独立的,相互隔离的。传统的数据库集成方法现在已经远远
随着互联网络技术和微电子技术的不断发展,传统的处理器已经不能满足日益增长的网络应用和服务的需求。因此,一种专为处理网络应用和服务而设计的高性能网络处理器应运而生。
本论文针对传统的软件缺陷管理不足,采用在优化其现有流程的基础上对整个缺陷管理过程进行度量的方法,突破旧的模式,使缺陷管理在项目管理中发挥更大的作用。在CMM日益受欢迎
将Internet应用到各种嵌入式系统中,通过Internet实现对设备的监控,已成为Internet和嵌入式系统发展的新趋势。嵌入式Web服务器(Embedded Web Server,EWS)造价低,方便灵活,易于扩
随着互联网(Internet)的普及以及数据库管理技术的发展,一方面大量互联网上的节点需要相互共享数据或共享服务。另一方面,网络带宽的成倍增加以及计算机计算能力的大大提高,对等
随着计算机、网络和数字化技术的发展和普及,网上多媒体数据量急剧增加,计算机自动处理、分析、挖掘、检索网上海量多媒体数据(特别是视频数据)已经成为信息社会的迫切需求,视频
作为下一代互联网信息存储的核心技术,基于对象的存储系统结合了SAN(Storage Area Network)基于块存储和NAS(Network Attached Storage)基于文件存储的优势,提供了功能更加丰
近年来,自动指纹识别技术已成为学术界的一个研究热点,已有不少国内外学者对指纹识别技术作了大量研究,但到目前为止,指纹识别仍存在一些技术难点。指纹图像与背景区域的有效分割
当前互联网安全事件频繁爆发,互联网环境安全态势日趋恶化。研究人员希望得到网络安全事件真实数据进行研究分析,以达到防御目的,改善互联网环境。得到安全事件的真实网络数据需