代码相似性耦合性度量方法的研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:suntiger2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
研究发现,导致大型软件难于维护的重要原因之一在于软件代码中存在大量的相似代码。对于大型的企业应用软件,由于大量相似用户界面、相似业务逻辑的存在,势必导致了大量相似代码的存在。企业应用软件往往包含软件平台和业务代码两部分,软件平台和业务代码都存在优化的空间。而另一方面,大型软件在面临变化时,软件往往难于理解和修改。为此,本文通过研究企业应用软件相似代码问题和代码耦合性问题,旨在提高代码复用度、支持快速开发、提高系统的可维护性和可扩展性。理论研究方面,相似性代码是源文件中相同或者相似的代码片段,目前国内外研究人员提出了一些相似性代码检测的方法和工具。本文提出了一种基于token流、转换规则和后缀树算法的静态代码检测方法。本文的创新之处在于将代码检测的基本比较单元细化到了类的成员方法级,并提出了一系列相似性代码度量指标。代码耦合性指软件系统中两个模块相互依赖的程度,本文在包、类和类成员三个层次上分析代码依赖关系,提出了一种新的表示代码依赖关系的模型—层次依赖模型,并且提出了一种基于层次依赖图的模块再划分的方法。系统实现方面,本文设计并实现了一个代码相似性耦合性分析系统。该系统是一个基于Eclipse的插件系统,系统实现了对源文件代码的基本度量,相似代码的检测和度量,耦合代码依赖关系分析和生成层次依赖图。
其他文献
随着移动终端技术的发展,越来越丰富的第三方软件为移动终端用户提供了各种丰富多彩的办公和娱乐功能,在给用户带来便利的同时也对移动终端软件的测试提出了更高的要求。自动化
随着技术的不断进步,互联网对于社会的影响力越来越大。网络已经成为了继电视、报纸和杂志之后的第四大媒体。随着互联网越来越深入人心的,各种不良信息也随着互联网的普及而
随着工作流技术的发展,工作流管理广泛应用到企业信息系统中。在传统的工作流生命周期中,通常由相关领域专家设计一个符合企业流程的工作流模型,然后配置相关应用系统,最后系统投
随着无线移动通信技术和定位技术的飞速发展,随时随地获取个人精确位置信息成为可能。一类新的服务发现应用——基于位置的服务(LBS, Location Based Service)应运而生。LBS的
随着计算机科学的发展和计算机应用的广泛化,计算机中处理的数据越来越复杂。相应地对各种复杂数据的处理也成为了计算机科学中的热点问题。在复杂数据中多维数据类型和时态数
二进制翻译作为实现代码移植的一种软件手段,能将某一体系结构下的可执行二进制程序在没有其源代码的情况下翻译转换成能在其它体系结构下运行的二进制代码。动态二进制翻译
商业智能工具迅速发展,多维查询技术日趋成熟,为了满足安全数据智能整合平台的项目需求,有必要将多维查询技术引入到达梦数据仓库中。主要研究了达梦多维查询系统的设计与实
随着计算机网络技术的发展,网络攻防技术也逐步深入。通过远程隐蔽监控对抗敌对势力,打击网络犯罪已经成为了一种重要手段。但如何很好的融合多种隐藏技术,特别是在通信隐藏
随着网络技术的发展和宽带网络的普及,越来越多的用户通过互联网来观看视频节目。传统的Client/Server(C/S)集中式服务模式,对服务器的性能有很高的要求,服务器作为所有服务
随着网络安全威胁多样化、黑客技术平民化,越来越多的入侵手段能轻松翻越传统的防火墙盗取重要个人信息、企业机密。入侵检测系统很好地解决了这个问题,但还是存在误报、漏报、