【摘 要】
:
成功的大规模系统被称为遗留系统。这些系统具有巨大的商业价值。但是因为它们的体积庞大,并且缺乏文档信息,所以难于维护。其中相似性代码是困扰工程师们的一大问题。在一个
论文部分内容阅读
成功的大规模系统被称为遗留系统。这些系统具有巨大的商业价值。但是因为它们的体积庞大,并且缺乏文档信息,所以难于维护。其中相似性代码是困扰工程师们的一大问题。在一个大型的软件项目中,大约有10%至30%的代码是相似性代码。由于相似性代码的存在,导致了软件维护时70%的开销。相似性代码是指相同的或者近似相同的源代码片断。在软件维护的过程中,相似性代码的出现会造成多种问题。这篇论文对相似性代码产生的原因及其造成的安全隐患进行了阐述。由于使用目的不同,不同工具对相似性代码的种类进行了不同的划分。在总结了现有的相似性代码分类与检测方法之后,这篇论文将相似性代码划分为五类:简单的相似性代码片断、重命名的相似性代码片断、不邻接的相似性代码片断、乱序的相似性代码片断和纠缠的相似性代码片断。这篇论文将相似性代码的检测方法划分为四类:基于串的分析方法、基于度量的分析方法、基于抽象语法树的分析方法和基于程序依赖图的分析方法。一个相似性代码集合中的相似性代码片断可能具有一类或者多类相似性问题。不同种类的相似性代码可以使用不同的方法进行判断。这篇论文详细阐述了基于串的代码相似性判定方法、基于软件度量的代码相似性判定方法和基于程序依赖图的代码相似性判定方法在实现过程中所需的理论及算法知识。这些内容主要包括:Karp‐Rabin算法、基于Karp‐Rabin的GST算法、软件度量理论、程序依赖图理论及相关算法。此外,针对Java语言,这篇论文介绍了基于串的代码相似性判定工具、基于软件度量的代码相似性判定工具和基于程序依赖图的代码相似性判定工具的设计方案,并详细阐述了工具的实现方法。
其他文献
本文综合运用包括图像平滑、图像分割、图像识别、图像修复等相关数字图像处理技术,针对数字视频质量损伤中的斑点去除和马赛克检测两个问题,展开了相应的研究。首先,本文分
移动机器人是一种能够在工作环境中自主移动并完成预定任务的智能系统,是机器人学和智能控制的一个重要研究领域,在工业、农业、民用以及军事等领域具有广泛的应用前景。在移
消息中间件是一种由消息传送机制或消息队列模式组成的中间件技术,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。作为一个中间
近些年来,随着中国社会的发展以及高等教育水平的提高,每年毕业的大学生人数越来越多,就业成为当今大学毕业生面临的重要挑战之一。人才资源是生产力中最为活跃、最有价值的、最
随着中国加入WTO,我国各个行业的竞争也日趋激烈。企业保有客户留住利润的难度越来越大。如果企业还仅仅依靠产品本身似乎很难逃脱失败的命运。因此越来越多的企业将重点从“
互联网的发展让我们的生活世界成为了地球村,网络的便捷性使人们每时每刻都能够从网络上获取信息。随着Web2.0技术的应用,人们不再只是简单的获取网络上的信息,而是成为了网
未来的通信网络是一个包含多种不同接入技术的异构网络,不同技术的接入网络具有不同的覆盖能力、容量大小、以及对业务的不同服务质量支持能力等。一个端到端的QoS会话可能要
随着用户参与的不断加深,包含用户观点、态度以及对网络事件、产品评论的主观性文本迅速充斥着互联网。新闻、博客、论坛、贴吧等网络媒体用户数众多,成为了网络事件传播的主
自组织特征映射网络由Teuvo Kohonen教授在20世纪80年代提出,它是模拟脑细胞的这种自组织特性来实现聚类,识别,排序等。自组织特征映射网络同时具有拓扑保持和向量量化的特点
随着社会的发展,水资源短缺日益严重,节省水资源并实现水资源的回收利用是缓解水资源紧张的必然途径。中水是从污水中处理出来的低质量水,可用于工业冷却循环、绿化喷灌、道