Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3180374.3181332acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicmssConference Proceedingsconference-collections
research-article

Detection Technology and Application of Clone Refactoring

Published: 13 January 2018 Publication History

Abstract

Clone code is a similar part of code, such code may seriously affect the maintainability of the software and reduce the quality of code. In order to eliminate the negative impact of clone code, the researchers offer many methods to eliminate clone code and refactoring is an important part in them. In this paper, several different methods and tools are introduced, the advantages and disadvantages of various methods and tools are summarized, apart from this, we also describe the important application of clone refactoring in maintaining the quality of code, at last, we discussed the challenges of the current clone refactoring detection.

References

[1]
Kamiya T, Kusumoto S, Inoue K. CCFinder: a multilinguistic token-based code clone detection system for large scale source code{J}. IEEE Transactions on Software Engineering,2002, 28(7):654--670.
[2]
Zibran M F, Roy C K. IDE-based real-time focused search for near-miss clone{C}//Proc of the 27th Annual ACM Symposium on Applied Computing, New York: ACM,2012:1235--1242.
[3]
Rieger M, Ducasse S, Lanza M. Insights into system-wide code duplication{C}// Reverse Engineering, 2004. Proceedings. Working Conference on. IEEE, 2005:100--109.
[4]
Rieger M. Effective clone detection without language barriers /{J}. Inaugural dissertation Der Philosophisch, 2005.
[5]
Cordy J R. Comprehending Reality " Practical Barriers to Industrial Adoption of Software Maintenance Automation{C}// IEEE International Workshop on Program Comprehension. IEEE Computer Society, 2003:196.
[6]
Jiang L, Su Z, Chiu E. Context-based detection of clone-related bugs{C}// The, Joint Meeting of the European Software Engineering Conference and the ACM Sigsoft Symposium on the Foundations of Software Engineering. ACM, 2007:55--64.
[7]
Xun W, Hua Q, Fei N.Object-oriented Software Refactoring{J}. computer project, 2005,31(5):82--84.
[8]
Fowler M. Refactoring: improving the design of existing code{M}. Addison-Wesley Longman Publishing Co. Inc. 1999.
[9]
Mondal M, Roy C K, Schneider K A. SPCP-Miner: A tool for mining code clones that are important for refactoring or tracking{C}// IEEE, International Conference on Software Analysis, Evolution and Reengineering. IEEE, 2015:484--488.
[10]
Mens T, Tourw T. A Survey of Software Refactoring{J}. Software Engineering IEEE Transactions on, 2004, 30(2):126--139.
[11]
Dehaghani S M H, Hajrahimi N. Which Factors Affect Software Projects Maintenance Cost More?{J}. Acta Informatica Medica, 2013, 21(1):63.
[12]
Deursen A V, Moonen L. The Video Store Revisited - Thoughts on Refactoring and Testing{J}. 2002.
[13]
Kim M, Cai D, Kim S. An empirical investigation into the role of API-level refactorings during software evolution{C}// International Conference on Software Engineering. IEEE, 2011:151--160.
[14]
Beck K. Extreme Programming Explained: Embrace Change{J}. Extreme Programming Explained Embrace Change, 1999, 9(7):292.
[15]
Roy C K, Cordy J R, Koschke R. Comparison and evaluation of code clone detection techniques and tools: A qualitative approach{J}. Science of Computer Programming, 2009,74(7):470--495.
[16]
Liu Y, Liu Q, Liu H. Automated Detection of Extract Method Refactoring {J}. COMPUTER SCIENCE, 2015, 42(12):105--107.
[17]
Zhang Q, Zhang Y, Zhou K. CCodeExtractor:Automatic Approach of Function Extraction for C Programs{J}. COMPUTER SCIENCE, 2017, 44(04):16--20.
[18]
Silva D, Terra R, Valente M T. JExtract: An Eclipse Plug-in for Recommending Automated Extract Method Refactorings{J}. International Journal of Software Engineering, 2015, 2(3).
[19]
Choi E, Yoshida N, Ishio T, et al. Extracting code clones for refactoring using combinations of clone metrics{C}// International Workshop on Software Clones. ACM, 2011:7--13.
[20]
Schulze S, Kuhlemann M. Towards a refactoring guideline using code clone classification{C}// The Workshop on Refactoring TOOLS. ACM, 2008:6.
[21]
Wang W, Godfrey M W. Recommending Clones for Refactoring Using Design, Context, and History{C}// IEEE International Conference on Software Maintenance and Evolution. IEEE Computer Society, 2014:331--340.
[22]
Dong-Qi Y U, Peng X, Zhao W Y. Automatic Refactoring Method of Cloned Code Using Abstract Syntax Tree and Static Analysis{J}. Journal of Chinese Computer Systems, 2009.
[23]
Wei L, Zhi-Gang H U, Liu H T. Automatic Refactoring for Complex Conditional Statements Based on Abstract Syntax Tree and Polymorphism{J}. Journal of University of Electronic Science & Technology of China, 2014, 43(5):736--741.
[24]
Hotta K, Higo Y, Kusumoto S. Identifying, Tailoring, and Suggesting Form Template Method Refactoring Opportunities with Program Dependence Graph{C}// European Conference on Software Maintenance and Reengineering. IEEE, 2012:53--62.
[25]
Kanemitsu T, Higo Y, Kusumoto S. A visualization method of program dependency graph for identifying extract method opportunity{C}// The Workshop on Refactoring tools, 2011:8--14.
[26]
Feng J H. CODE CLONE RESTRUCTURING OF C PROGRAMS VIA K-NEAREST NEIGHBOR ALGORITHM{D}. Harbin Institute of Technology, 2011.
[27]
Higo Y, Matsumoto Y, Kusumoto S, et al. Refactoring Effect Estimation Based on Complexity Metrics{J}. 2008:219--228.
[28]
Bian Y. RESEARCH ON PROCEDURE EXTRACTION METHOD OF CLONE CODE FOR REFACTORING{D}. Harbin Institute of Technology, 2014.
[29]
Nakajima H, Higo Y, Yokoyama H, et al. Toward Developer-like Automated Program Repair --- Modification Comparisons between GenProg and Developers{C}// Software Engineering Conference. IEEE, 2017:241--248.
[30]
Mazinanian D, Tsantalis N, Stein R, et al. JDeodorant: clone refactoring{J}. 2016:613--616.
[31]
Hamid A, Ilyas M, Hummayun M, et al. A Comparative Study on Code Smell Detection Tools{J}. International Journal of Advanced Science & Technology, 2013, 60:25--32.
[32]
atic code smell refactoring toolset{C}// IEEE, International Working Conference on Source Code Analysis and Manipulation. IEEE, 2015:253--258.
[33]
Moha N, Gueheneuc Y G, Duchien L, et al. DECOR: A Method for the Specification and Detection of Code and Design Smells{J}. IEEE Transactions on Software Engineering, 2010, 36(1):20--36.
[34]
Lanza M, Marinescu R. Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems{M}. Springer Publishing Company, Incorporated, 2010.
[35]
Emerson Murphy-Hill and Andrew P. Black, An interactive ambient visualization for code smells, Proceedings of SOFTVIS '10, USA, October 2010.
[36]
Kataoka Y, Imai T, Andou H, et al. A Quantitative Evaluation of Maintainability Enhancement by Refactoring{C}// International Conference on Software Maintenance. IEEE Computer Society, 2002:576.
[37]
Moser R, Abrahamsson P, Pedrycz W, et al. A Case Study on the Impact of Refactoring on Quality and Productivity in an Agile Team{C}// Balancing Agility and Formalism in Software Engineering. Springer-Verlag, 2008:252--266.
[38]
Devi U, Sharma A, Kesswani N. A review on quality models to analyse the impact of refactored code on maintainability with reference to software product line{C}// International Conference on Computing for Sustainable Global Development. IEEE, 2016.
[39]
Kádár I, Hegedűs P, Ferenc R, et al. Assessment of the Code Refactoring Dataset Regarding the Maintainability of Methods{M}// Computational Science and Its Applications -- ICCSA 2016. Springer International Publishing, 2016.
[40]
István Kádár, Péter Hegedűs, Ferenc R, et al. A Manually Validated Code Refactoring Dataset and Its Assessment Regarding Software Maintainability{C}// IEEE, International Conference on Software Analysis, Evolution, and Reengineering. IEEE, 2016:1--4.
[41]
Ruan H, Chen H, Peng X, et al. An Empirical Study of Design-Oriented Refactorings in Open Source Projects {J}. Computer science and exploration,2017,11(9), No published
[42]
Zibran M F, Roy C K. A Constraint Programming Approach to Conflict-Aware Optimal Scheduling of Prioritized Code Clone Refactoring{C}// IEEE International Working Conference on Source Code Analysis and Manipulation. IEEE, 2011:105--114.

Cited By

View all
  • (2023)Finding Code Clone Refactoring Techniques by Mapping Clone ContextComposability, Comprehensibility and Correctness of Working Software10.1007/978-3-031-42833-3_9(344-357)Online publication date: 18-Oct-2023
  • (2019)Research on the Tools of Clone Code RefactoringProceedings of the 2019 3rd International Conference on Management Engineering, Software Engineering and Service Sciences10.1145/3312662.3312693(27-31)Online publication date: 12-Jan-2019

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICMSS 2018: Proceedings of the 2018 2nd International Conference on Management Engineering, Software Engineering and Service Sciences
January 2018
298 pages
ISBN:9781450354318
DOI:10.1145/3180374
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • Wuhan Univ.: Wuhan University, China

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 January 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Clone Code
  2. Maintainability
  3. Refactoring
  4. Software Quality

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Inner Mongolia Normal University

Conference

ICMSS 2018

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Finding Code Clone Refactoring Techniques by Mapping Clone ContextComposability, Comprehensibility and Correctness of Working Software10.1007/978-3-031-42833-3_9(344-357)Online publication date: 18-Oct-2023
  • (2019)Research on the Tools of Clone Code RefactoringProceedings of the 2019 3rd International Conference on Management Engineering, Software Engineering and Service Sciences10.1145/3312662.3312693(27-31)Online publication date: 12-Jan-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media