On refactoring support based on code clone dependency relation

Norihiro Yoshida, Yoshiki Higo, Toshihiro Kamiya, S. Kusumoto, Katsuro Inoue
{"title":"On refactoring support based on code clone dependency relation","authors":"Norihiro Yoshida, Yoshiki Higo, Toshihiro Kamiya, S. Kusumoto, Katsuro Inoue","doi":"10.1109/METRICS.2005.36","DOIUrl":null,"url":null,"abstract":"Generally, code clones are regarded as one of the factors that make software maintenance more difficult. A code clone is a set of source code fragments identical or similar to each other from the viewpoint of software maintainability, code clones should be removed. However, sometimes there are dependency relations among each of which belong to the different code clone, and it is advisable to refactor all of such code clones at once. In this paper, we focus on the case that such code fragment corresponds to a method body in Java programs. We defined \"chained method\" as a set of methods that have dependency relations. A set of \"chained methods\" whose elements are each other's code clone is called \"chained clone\", and an equivalence class of \"chained clone\" is called a \"chained clone set\". We propose a refactoring support method for \"chained clone set\" by providing an appropriate refactoring pattern to them. Finally, we present the \"chained clone set\" refactoring support tool that we have developed, together with some case studies to show the usefulness of the proposed method","PeriodicalId":402415,"journal":{"name":"11th IEEE International Software Metrics Symposium (METRICS'05)","volume":"58 9","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"34","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"11th IEEE International Software Metrics Symposium (METRICS'05)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/METRICS.2005.36","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 34

Abstract

Generally, code clones are regarded as one of the factors that make software maintenance more difficult. A code clone is a set of source code fragments identical or similar to each other from the viewpoint of software maintainability, code clones should be removed. However, sometimes there are dependency relations among each of which belong to the different code clone, and it is advisable to refactor all of such code clones at once. In this paper, we focus on the case that such code fragment corresponds to a method body in Java programs. We defined "chained method" as a set of methods that have dependency relations. A set of "chained methods" whose elements are each other's code clone is called "chained clone", and an equivalence class of "chained clone" is called a "chained clone set". We propose a refactoring support method for "chained clone set" by providing an appropriate refactoring pattern to them. Finally, we present the "chained clone set" refactoring support tool that we have developed, together with some case studies to show the usefulness of the proposed method
基于代码克隆依赖关系的重构支持
通常,代码克隆被认为是使软件维护更加困难的因素之一。代码克隆是一组彼此相同或相似的源代码片段,从软件可维护性的角度来看,应该删除代码克隆。然而,有时在属于不同代码克隆的每个代码之间存在依赖关系,建议一次重构所有这样的代码克隆。在本文中,我们重点讨论了这种代码片段对应于Java程序中的方法体的情况。我们将“链式方法”定义为一组具有依赖关系的方法。元素互为代码克隆的一组“链式方法”称为“链式克隆”,“链式克隆”的等价类称为“链式克隆集”。我们通过为“链式克隆集”提供合适的重构模式,提出了一种重构支持方法。最后,我们介绍了我们开发的“链式克隆集”重构支持工具,以及一些案例研究,以显示所建议方法的有用性
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术文献互助群
群 号:604180095
Book学术官方微信