重复代码论文_刘伟,宾航飞,胡志刚

导读:本文包含了重复代码论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:代码,重构,抽象,语法,算法,近邻,赋值。

重复代码论文文献综述

刘伟,宾航飞,胡志刚[1](2018)在《一种改进的基于文本的重复代码自动识别方法》一文中研究指出代码味道的识别与自动重构是近年来软件工程的热点领域之一,而重复代码是一种在软件工程中较为常见的代码味道。本文在基于文本的重复代码识别方法的基础上,通过词法分析对特定的Token作出处理后再对源代码进行对比,最后通过语法树的对比来对结果进行过滤以降低误报率。测试结果表明该方法对于重复代码有着较好的识别效果。对重复代码的自动识别算法研究有着借鉴意义,在软件的质量、维护等领域上也具有广泛的应用需求。(本文来源于《软件》期刊2018年10期)

吴冲[2](2015)在《基于抽象语法树的重复代码检测》一文中研究指出重构技术在软件开发和维护的过程中所起的作用日益受到人们的重视,作为减少软件中Code Smell的有效途径,重构逐渐成为软件工程研究的一个热门领域。通过重构,可以减少软件中的缺陷,优化软件的内部结构,从而提升软件的质量,延长其寿命周期。但是,由于实施重构的第一步工作,即Code Smell的判定还需手动进行,重构技术的发展和应用也因此受到制约。本文选定重复代码这一最为常见的Code Smell作为研究对象,在国内外现有重复代码检测技术研究的基础上,提出了基于抽象语法树的重复代码的检测方法:借助于开源工程CSParser,在其基础上利用简化后的Micro CSParser和自定义抽象语法树文法,从每一个处于编辑状态的源文件中提取对应的抽象语法树,将程序代码所包含的语义解析至抽象语法树的各个节点中;在生成抽象语法树的过程中,消除了分析语法树中有助于编译的细节信息,去除了冗余结点,从而便于抽象语法树中关键信息节点的提取;通过对所提取的抽象语法树进行方法级遍历,将每一个函数所对应的抽象语法树的节点信息以字符串的形式存储在Hashtable中。接下来利用Sim Hash算法通过分词、哈希、加权、合并和降维处理,得到各函数抽象语法树信息串的数字签名,进一步比较这些数字签名之间的汉明距离,完成重复代码的检测。最后,在上述理论研究的基础之上,本文设计并实现了一个基于抽象语法树的简易重复代码检测工具,并对其进行了简单的测试。虽然该工具功能单一,且对重复代码的检测存在一定的局限性,但其实现过程不失为对代码坏味自动检测课题的一次积极探索。通过功能的优化和更多种类代码坏味检测功能的实现,一定能为重构技术的应用提供更多帮助。(本文来源于《上海师范大学》期刊2015-05-01)

吴冲,吴海涛[3](2015)在《重复代码的重构》一文中研究指出重构是当下软件工程领域研究的一个重要研究课题,在软件开发和软件维护的过程中,程序员逐渐认识到其重要性。本文先从重构的定义,重构的意义和重构的时机等几个方面系统地介代码件重构的相关内容,然后列举了重构所要解决的几种常见的代码坏味。最后后结合一个具体实例展示了重复代码这一常见坏味产生的原因以及重构过程。(本文来源于《电脑与信息技术》期刊2015年02期)

蒋增恒[4](2013)在《空管自动化重复二次代码告警原理及分析》一文中研究指出由于航班量增长,二次雷达代码资源紧张,自动化系统中经常出现二次雷达代码重码告警和耦合错误等情况,给管制指挥带来困扰。文章根据欧洲猫(EUROCAT-X)自动化系统中重复二次雷达代码告警的产生条件,对照实例对重复二次雷达代码告警的概念即产生原因进行介绍,并总结系统中几种典型的重复二次雷达代码告警的情况。(本文来源于《硅谷》期刊2013年23期)

韩怡,胡素艳[5](2013)在《雏议优化赋码颁证流程 提升代码管理水平——由档案资料重复采集引发的对代码管理工作的思考》一文中研究指出现行组织机构代码赋码颁证工作流程问题分析现行的组织机构代码赋码颁证工作仍沿用20世纪90年代初期(当时计算机没有得到广泛应用、会操作的人员少、代码工作量小)使用的"审核——受理——微机录入、证书打印、颁证——电子档案扫描"流程,这个工作流程在实际工作中存在以下几个问题(本文来源于《大众标准化》期刊2013年08期)

孔丹丹[6](2012)在《基于K-最近邻聚类的功能等价的重复代码的检测方法研究》一文中研究指出软件的高质量、高可靠性是系统开发和维护工作的一个不可或缺的重要方面,重复代码(也称为克隆代码)检测则是保证软件的高质量和高可靠性的一项重要任务。在软件系统中,重复代码的存在使代码量增大,软件系统架构变得比较臃肿,导致软件系统的维护存在一定的困难。而功能等价的重复代码作为重复代码的一种,因为涉及到复杂的程序语义分析,目前还缺少有效的检测方法。针对目前方法存在的不足,本文提出了基于K-最近邻聚类算法的功能等价的重复代码的检测方法。本文方法首先对源程序进行词法分析和语法分析分别建立抽象语法树AST和控制依赖图CDG,并在此基础上进行特定的数据流分析得到函数语句中变量的定值-使用信息集合,然后利用K-最近邻聚类方法获取得到功能独立的易于提取的代码片段,并在识别得到代码片段的输入变量和输出变量的基础上,对代码片段进行过程提取,将不能编译的代码片段转换为能够编译执行的函数,接下来为函数的输入变量实现自动随机赋值,最后对函数执行动态测试并根据输出变量的结果对函数进行分类,由此将代码片段划分到不同的集合中,得到功能等价的代码片段集合。本文使用学生在C语言课程作业中提交的程序和Simens开源代码对基于K-最近邻聚类的功能等价的重复代码的检测模型进行了测试,并且与参考文献中的利用滑动窗口方法获取候选代码片段的方法进行了对比,证明本文中的方法能够以较低的时间复杂度获取功能内聚的代码片段,然后从获取的代码片段中进一步检测得到功能等价的重复代码。(本文来源于《哈尔滨工业大学》期刊2012-06-01)

刘建宾,李建忠[7](2009)在《一种重复代码检测技术的改进研究》一文中研究指出针对Kontogiannis重复代码度量方法不能区分IF条件语句与循环语句的控制流复杂性,且未对两个比较函数的返回类型进行判断时而产生错误匹配的问题,通过引入两个新的度量变量对其进行改进,结果表明,改进的度量公式能提高重复代码检测的准确性并减少匹配错误,为自动重构定位提供更有效的技术。(本文来源于《北京信息科技大学学报(自然科学版)》期刊2009年03期)

易长安[8](2009)在《重复代码检测技术的现究现状》一文中研究指出重复代码是程序中最常见的"坏味道",也是导致软件维护费用高昂的原因之一。关于重复代码的重构技术已经研究了很多年了,该文主要对重复代码检测技术的国内外研究现状进行分析和比较、指出了它们的优缺点,并在此基础上展望了其以后的发展趋势。(本文来源于《电脑知识与技术》期刊2009年22期)

刘鑫[9](2007)在《重复代码检测方法及其应用》一文中研究指出最近的研究表明在大规模程序中含有许多重复代码,它们中的大部分是由拷贝-粘贴行为造成的。这些重复代码不仅降低了系统软件的可维护性,而且会给软件引入大量的bug。然而,现有的重复代码查找工具或因消耗的时间和内存过多而无法面向大规模软件,或无法找出那些经过重命名、插入或删除修改的重复代码。通过对比各种重复代码检测技术的优缺点,本文选用基于token串的分析方法,引入了数据挖掘技术,实现了一个重复代码检测模型。首先,分析源代码创建一个序列数据库,将重复代码检测问题转化成为一个序列模式挖掘问题。然后,使用改进的CloSpan算法查找支持度至少为2的频繁子序列,这些子序列对应于程序中的重复代码段。最后,改进检测结果,去除不太可能是重复代码的结果,并合并相邻的重复模块,组成较大的重复代码段。与其它方法相比,基于token串的方法和CloSpan算法的算法复杂度较低,时间和内存开销较低,因此适合于分析大规模程序;模型在词法分析之后忽略标识符的真实名字,将类型相似的标识符都映射为相同值,从而可以检测标识符重命名的拷贝-粘贴片段;由于频繁子序列在其支持序列中是可以中断的,因此在设置gap阈值之后可以准确地识别出进行过插入删除操作的拷贝-粘贴片段。实验结果表明,本模型能够在40分钟内从Httpd 2.2.2(280,000行)中检测出约3000组重复代码,其中包括经过各种(重命名、插入和删除)修改后的重复代码。(本文来源于《哈尔滨工业大学》期刊2007-07-01)

李建忠,刘建宾,余楚迎[10](2007)在《基于过程蓝图的参数化重复代码检测技术研究》一文中研究指出通过引入过程蓝图改进参数化重复代码的检测方法,降低原检测方法的空间复杂度,并避免将程序源码变换为后缀树这一复杂过程,为自动重构定位提供更有效的技术.(本文来源于《汕头大学学报(自然科学版)》期刊2007年01期)

重复代码论文开题报告

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

重构技术在软件开发和维护的过程中所起的作用日益受到人们的重视,作为减少软件中Code Smell的有效途径,重构逐渐成为软件工程研究的一个热门领域。通过重构,可以减少软件中的缺陷,优化软件的内部结构,从而提升软件的质量,延长其寿命周期。但是,由于实施重构的第一步工作,即Code Smell的判定还需手动进行,重构技术的发展和应用也因此受到制约。本文选定重复代码这一最为常见的Code Smell作为研究对象,在国内外现有重复代码检测技术研究的基础上,提出了基于抽象语法树的重复代码的检测方法:借助于开源工程CSParser,在其基础上利用简化后的Micro CSParser和自定义抽象语法树文法,从每一个处于编辑状态的源文件中提取对应的抽象语法树,将程序代码所包含的语义解析至抽象语法树的各个节点中;在生成抽象语法树的过程中,消除了分析语法树中有助于编译的细节信息,去除了冗余结点,从而便于抽象语法树中关键信息节点的提取;通过对所提取的抽象语法树进行方法级遍历,将每一个函数所对应的抽象语法树的节点信息以字符串的形式存储在Hashtable中。接下来利用Sim Hash算法通过分词、哈希、加权、合并和降维处理,得到各函数抽象语法树信息串的数字签名,进一步比较这些数字签名之间的汉明距离,完成重复代码的检测。最后,在上述理论研究的基础之上,本文设计并实现了一个基于抽象语法树的简易重复代码检测工具,并对其进行了简单的测试。虽然该工具功能单一,且对重复代码的检测存在一定的局限性,但其实现过程不失为对代码坏味自动检测课题的一次积极探索。通过功能的优化和更多种类代码坏味检测功能的实现,一定能为重构技术的应用提供更多帮助。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

重复代码论文参考文献

[1].刘伟,宾航飞,胡志刚.一种改进的基于文本的重复代码自动识别方法[J].软件.2018

[2].吴冲.基于抽象语法树的重复代码检测[D].上海师范大学.2015

[3].吴冲,吴海涛.重复代码的重构[J].电脑与信息技术.2015

[4].蒋增恒.空管自动化重复二次代码告警原理及分析[J].硅谷.2013

[5].韩怡,胡素艳.雏议优化赋码颁证流程提升代码管理水平——由档案资料重复采集引发的对代码管理工作的思考[J].大众标准化.2013

[6].孔丹丹.基于K-最近邻聚类的功能等价的重复代码的检测方法研究[D].哈尔滨工业大学.2012

[7].刘建宾,李建忠.一种重复代码检测技术的改进研究[J].北京信息科技大学学报(自然科学版).2009

[8].易长安.重复代码检测技术的现究现状[J].电脑知识与技术.2009

[9].刘鑫.重复代码检测方法及其应用[D].哈尔滨工业大学.2007

[10].李建忠,刘建宾,余楚迎.基于过程蓝图的参数化重复代码检测技术研究[J].汕头大学学报(自然科学版).2007

论文知识图

重复代码碎片的数据结构两个可以合并的重复代码碎片中检测出的重复代码各种重复代码示例更改标注类型如果对每一种类型(菜单...系统数据服务使用WebService,可以避...

标签:;  ;  ;  ;  ;  ;  ;  

重复代码论文_刘伟,宾航飞,胡志刚
下载Doc文档

猜你喜欢