跨语言代码克隆检测系统的设计与实现

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:wuzhi1979
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为了吸引更多开发者或是支持不同的平台,开源项目组织或商业公司倾向于采用多种语言实现他们的项目。研究表明,大约有33%的开源项目存在多种语言版本。在这些多语言项目中,开发者需要维护不同版本间的一致性。他们需要在不同版本上实现相同的功能或是修复同一个缺陷,这会产生大量功能相似的代码,这样的代码片段被称为跨语言的代码克隆。代码克隆增加了软件开发和维护的成本。例如,当某个克隆片段被修改,与之相关的代码克隆都可能需要同样的修改。然而,在多语言项目中避免克隆代码是非常困难的。因此,跨语言的代码克隆检测是多语言软件项目维护中的重要部分。但是,现有的工具大多只能检测同一种语言的克隆,无法有效检测如Java和C#之间存在的跨语言克隆。传统的代码检测工具如DECKARD、CCFinder、CP-Miner等,只能够检测在同一种语言上存在的代码克隆,而C2D2这样的跨语言代码克隆工具,由于他们的工具基于.NET的通用中间语言(CIL),仅能提供基于CIL语言间的跨语言克隆检测,无法检测无中间语言的跨语言克隆代码。代码变更相似性指的是在代码的历史变更中,存在的实现相同功能或是修复相似缺陷的代码变更片段。在多语言项目中,存在大量针对同一任务的相似代码变更,这些代码变更片段反映了开发者维护多语言项目的变更一致性,而这样的一致性也产生了大量跨语言的代码克隆。因此,跨语言的代码克隆可以通过检测代码变更的相似性得到。全文检索技术是一种将文档中所有文本与搜索项匹配的文字资料检索技术,通常用于纯文本文件的信息检索,而在开源项目的代码片段中,通过去除关键字、停用词和转换API接口等一系列方法,能够将代码片段中有意义的变量和方法命名作为全文检索的输入,从而实现代码片段的搜索与匹配。本文结合代码变更相似性和全文检索技术,提出了一套新的检测不同平台间跨语言克隆代码的方法。该方法通过分析项目历史变更中存在的变更相似代码,比较变更片段的相似程度,利用全文检索技术进行代码匹配,较好地解决了现有克隆检测技术无法实现的跨语言代码问题,因此能够有效检测出不同平台的跨语言代码克隆。本文基于Elasticsearch搜索引擎实现了一个跨语言克隆检测系统——DiffMatcher。本文在开源项目ANTLR和FpML上进行了实验评估,实验表明DiffMatcher能够有效检测出Java和C#项目中存在的部分代码克隆,达到了预期工作目标。本文的贡献主要有以下几点:1)分析了现有的代码克隆检测工具的优点和不足,提出了传统克隆检测工具在检测跨语言克隆代码时的问题。2)首次提出了代码变更相似性的概念,将跨语言代码克隆检测问题转换为代码变更相似性比较的问题。利用全文检索技术,有效解决了跨语言克隆检测中存在的代码差异问题和匹配问题。3)根据本文所提出的方法,实现了一个跨语言克隆检测系统,该系统基于Elasticsearch搜索引擎。4)选取了合适的开源项目作为实验的评估程序,验证了本文所提出的检测方法的有效性。
其他文献
通过对32个样带779个样方的调查,认为坡度、留母树否、灌木生长状况是影响皆伐后天然更新的主要因子。山脊油松林可实行留母树皆伐。皆伐后天然更新的华山松较人工更新高生长
《中共中央关于进一步加强和改进新形势下党的建设若干重大问题的决定》体现了我党在新形势下决心以党建成就取信于民的庄严承诺。党与人民的关系是当代中国政治关系中最核心
有关中西媒体报道风格的比较研究也已很多。每一条新闻、每一个观点或是有关政策的提议提供给西方记者的时候,他最可能直觉的反应则是希望在它身上找到瑕疵,进而去批评、动摇其
近年来,中国国际广播电台立足自身优势,着力打造文化外宣品牌栏目,积极拓展文化外宣平台,开展富有特色的文化外宣工作,初步探索出了一条开展文化外宣的新路子。    开辟专栏 文化传播渐成亮点    调研表明,国际台播出的各类节目中,文化、旅游、学汉语和音乐等广受境外受众欢迎。其中,包括传统民俗、少数民族文化、饮食文化、婚俗、戏曲、民间工艺等在内的文化类节目,最为受众钟爱。针对受众的收听习惯和信息需求,
目的对先天性缺牙患者采取正畸联合口腔修复治疗方法,并分析其应用效果和应用价值。方法选取40例2013年2月~2018年2月我院口腔科接诊的先天性缺牙患者作为研究对象,将其均分
<正>1现行文件管理现状中国航天电子技术研究院档案馆在2005年开始推行并使用瀚海之星档案管理系统管理档案,经过几年的实施应用,目前已全面实现档案条目信息网络共享,电子借
会议
哈甫哈尼凯力卜是一种以心脏、心包和心脏附近的脏器的病变导致心颤、心律失常等症状的疾病。该病致病因素较多,有体液质性,非体液质性,气质失衡性,体液质气质失衡性引起的哈甫哈
近年来,随着积极心理学的兴起,幸福感的研究逐步引起了学界的关注。党的十九大报告中也提出:“要使人民拥有获得感、幸福感、安全感。”随着物质财富的积累,人们工作不仅是为了满足基本的物质需求,而是有了更高期待和追求。学者逐渐将幸福感转移到工作中,这种在工作中体验到的幸福感被称之为工作幸福感。现有的实证研究表明人-组织匹配对工作幸福感存在一定程度的影响,但以幼儿园教师为研究对象的研究还不多见。幼儿园教师是
低聚半乳糖是一种益生元,安全性高,具有调节肠道菌群等生理功能,在日本等国家已有多年的发展历史,在我国起步较晚,但将作为一种新型功能性甜味剂被广泛应用。
梨小食心虫越冬代幼虫脱果之后,大部分在越冬期间死亡,成活的幼虫多在树干0.5m 以下树基阳面越冬,地面越冬成活较少。越冬幼虫的防治以绑草环诱杀和涂毒灰熏杀及喷白僵菌悬液