克隆合并——一个抽象近克隆c++方法的Eclipse插件

Krishna Narasimhan
{"title":"克隆合并——一个抽象近克隆c++方法的Eclipse插件","authors":"Krishna Narasimhan","doi":"10.1109/ASE.2015.103","DOIUrl":null,"url":null,"abstract":"Software clones are prevalent. In the work of Laguë et al. [2], they observe that 6.4% and 7.5% of the source code in different versions of a large, mature code base are clones. The work of Baxter et al. [1] reports even higher numbers, sometimes exceeding 25%. We consider the prevalence of such near miss clones to be strong indicators that copy-paste-modify is a wide-spread development methodology. Even though clones are prevalent, they are a significant development headache. Specially, if bugs arise in one of the clones, they need to be fixed in all of the clones. This problem is acknowledged in the work of Juergens et al. [4] who say in their work that \"cloning can be a substantial problem during development and maintenance\", since \"inconsistent clones constitute a major source of faults\". A similar concern is raised in practitioner literature [3] suggesting that clones should be removed in some form or the other. We present a tool that can be installed as a plugin to Eclipse CDT, the development environment for C/C++. The research prototype comes with a refactoring option called \"Copy Paste merge\" refactoring, which is available as a menu option in the modified version of the Eclipse CDT.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"33 1","pages":"819-823"},"PeriodicalIF":0.0000,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Clone Merge -- An Eclipse Plugin to Abstract Near-Clone C++ Methods\",\"authors\":\"Krishna Narasimhan\",\"doi\":\"10.1109/ASE.2015.103\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software clones are prevalent. In the work of Laguë et al. [2], they observe that 6.4% and 7.5% of the source code in different versions of a large, mature code base are clones. The work of Baxter et al. [1] reports even higher numbers, sometimes exceeding 25%. We consider the prevalence of such near miss clones to be strong indicators that copy-paste-modify is a wide-spread development methodology. Even though clones are prevalent, they are a significant development headache. Specially, if bugs arise in one of the clones, they need to be fixed in all of the clones. This problem is acknowledged in the work of Juergens et al. [4] who say in their work that \\\"cloning can be a substantial problem during development and maintenance\\\", since \\\"inconsistent clones constitute a major source of faults\\\". A similar concern is raised in practitioner literature [3] suggesting that clones should be removed in some form or the other. We present a tool that can be installed as a plugin to Eclipse CDT, the development environment for C/C++. The research prototype comes with a refactoring option called \\\"Copy Paste merge\\\" refactoring, which is available as a menu option in the modified version of the Eclipse CDT.\",\"PeriodicalId\":6586,\"journal\":{\"name\":\"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)\",\"volume\":\"33 1\",\"pages\":\"819-823\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-11-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ASE.2015.103\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ASE.2015.103","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

摘要

软件克隆非常普遍。在Laguë等人的工作中,他们观察到,在一个大型成熟代码库的不同版本中,6.4%和7.5%的源代码是克隆的。Baxter等人的研究报告甚至更高,有时超过25%。我们认为,这种近靶克隆的普遍存在是复制-粘贴-修改是一种广泛传播的开发方法的有力指标。尽管克隆很普遍,但它们是开发过程中的一大难题。特别是,如果在一个克隆中出现错误,则需要在所有克隆中修复它们。这个问题在Juergens等人的工作中得到了承认,他们在他们的工作中说,“克隆在开发和维护期间可能是一个重大问题”,因为“不一致的克隆构成了故障的主要来源”。从业者文献[3]也提出了类似的担忧,建议应该以某种形式删除克隆。我们提供了一个可以作为插件安装到Eclipse CDT (C/ c++的开发环境)的工具。研究原型附带了一个称为“复制粘贴合并”重构的重构选项,在Eclipse CDT的修改版本中可以作为菜单选项使用。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Clone Merge -- An Eclipse Plugin to Abstract Near-Clone C++ Methods
Software clones are prevalent. In the work of Laguë et al. [2], they observe that 6.4% and 7.5% of the source code in different versions of a large, mature code base are clones. The work of Baxter et al. [1] reports even higher numbers, sometimes exceeding 25%. We consider the prevalence of such near miss clones to be strong indicators that copy-paste-modify is a wide-spread development methodology. Even though clones are prevalent, they are a significant development headache. Specially, if bugs arise in one of the clones, they need to be fixed in all of the clones. This problem is acknowledged in the work of Juergens et al. [4] who say in their work that "cloning can be a substantial problem during development and maintenance", since "inconsistent clones constitute a major source of faults". A similar concern is raised in practitioner literature [3] suggesting that clones should be removed in some form or the other. We present a tool that can be installed as a plugin to Eclipse CDT, the development environment for C/C++. The research prototype comes with a refactoring option called "Copy Paste merge" refactoring, which is available as a menu option in the modified version of the Eclipse CDT.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信