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

Research on the Tools of Clone Code Refactoring

Published: 12 January 2019 Publication History

Abstract

Clone code is the code fragment that is identical or similar in syntax or semantics, which has great impact on software development and maintenance. According to the large amount of clone code in software and its complex changes, researchers have proposed many methods to eliminate the harmful clone code, in which refactoring is an effective measure. In this paper, concepts of clone code and refactoring are introduced firstly. And then the main methods of current clone code refactoring are compared and analyzed, so the related tools of clone code refactoring can be elaborated and their advantages and disadvantages are summarized. At last, the shortcomings and limitations of the clone code refactoring are discussed.

References

[1]
Bettenburg N, Shang W, Ibrahim W, et al. 2009. An Empirical Study on Inconsistent Changes to Code Clones at Release Level. 2009 16th Working Conference on Reverse Engineering. Lille: IEEE, 2009:85--94.
[2]
Zibran M F, Roy C K. 2012. IDE-based real-time focused search for near-miss clone. Proc of the 27th Annual ACM Symposium on Applied Computing. New York: ACM, 2012:1235--1242.
[3]
Rieger M, Ducasse S, Lanza M. 2005. Insights into system-wide code duplication. Working Conference on Reverse Engineering. Delft: IEEE, 2005:100--109.
[4]
Mazinanian D, Tsantalis N, Stein R, et al. 2016. JDeodorant: clone refactoring. 38th International Conference on Software Engineering. Texas: IEEE, 2016:613--616.
[5]
Zibran M F, Roy C K. The road to software clone management: A survey. Technical Report 2012-03{R}. The University of Saskatchewan, Canada. 2012:1--66
[6]
Roy C K, Cordy J R 2009. Koschke R. Comparison and evaluation of code clone detection techniques and tools: A qualitative approach. Science of Computer Programming, 2009, 74(7):470--495.
[7]
Opdyke W F. Refactoring Object Frame Works {M}.Illinois: University of Illinois at Urban-Champaign, 1992:18--35.
[8]
Mondal M, Roy C K, Schneider K A. 2015. SPCP-Miner: A tool for mining code clones that are important for refactoring or tracking. IEEE, International Conference on Software Analysis, Evolution and Reengineering. IEEE, 2015:484--488.
[9]
Martin Fowler. Xiong Jie Translation. Refactoring - Improving Existing Code Design {M}. Beijing: People's Posts and Telecommunications Press, 2010.
[10]
Mens T, Tourw T. 2004. A Survey of Software Refactoring. IEEE Transactions on Software Engineering, 2004, 30(2):126--139.
[11]
R. Tairas and J. Gray.2012. Increasing clone maintenance support by unifying clone detection and refactoring activities. Inf. Softw. Technol., 54(12):1297--1307, Dec. 2012.
[12]
K. Hotta, Y. Higo, and S. Kusumoto. 2012. Identifying, tailoring, and suggesting form template method refactoring opportunities with program dependence graph. In Proceedings of the 16th European Conference on Software Maintenance and Reengineering, pages 53--62, 2012.
[13]
N. Meng, L. Hua, M. Kim, and K. S. McKinley. 2015. Does automated refactoring obviate systematic editing? In Proceedings of the 37th International Conference on Software Engineering - Volume 1, pages 392--402, 2015.
[14]
F. A. Fontana, M. Mangiacavalli, D. Pochiero, and M. Zanoni. 2015. On experimenting refactoring tools to remove code smells, in Scientific Workshop Proceedings of the XP2015, ser. XP '15 workshops. New York, NY, USA: ACM, 2015, pp. 7:1--7:8.
[15]
Higo Y, Kusumoto S, Inoue K. 2008. A metric-based approach to identifying refactoring opportunities for merging code clones in a Java software system. Journal of Software Maintenance and Evolution: Research and Practice, 2008, 20(6):435--461.
[16]
Choi E, Yoshida N, Ishio T, et al. 2011. Extracting Code Clones for Refactoring Using Combinations of Clone Metrics. The 5th International Workshop on Software Clones. New York, USA: ACM, 2011:7--13.
[17]
Schulze S, Kuhlemann M, Rosenmüller M. 2008. Towards a Refactoring Guideline Using Code Clone Classification. The 2nd Workshop on Refactoring Tools. New York, USA: ACM, 2008:6:1--6:4.
[18]
Balazinska M, Merlo E, Dagenais M, et al. 2000. Advanced Clone-Analysis to Support Object-Oriented System Refactoring. Seventh Working Conference on Reverse Engineering. Washington, DC, USA: IEEE, 2000:98--107.
[19]
Wang W, Godfrey M W. 2014. Recommending Clones for Refactoring Using Design, Context, and History. International Conference on Software Maintenance and Evolution. Robillard: IEEE, 2014:331--340.
[20]
Yu D. Automatic Refactoring Method of Cloned Code Based on Abstract Syntax Tree and Static Analysis{D}. Shanghai, China: FuDan University, 2009.
[21]
Krinke J. 2011. Identifying Similar Code with Program Dependence Graphs. The Eighth Working Conference on Reverse Engineering. Washington DC: IEEE, 2001:301--309.
[22]
Bakota T. 2011. Tracking the Evolution of Code Clones. The 37th international conference on Current trends in theory and practice of computer science. Novy' Smokovec, Slovakia: Springer, 2011:86--98.
[23]
Gode N, Koschke R. 2011. Frequency and Risks of Changes to Clone. 33rd International Conference on Software Engineering(ICSE). New York, NY, USA: ACM, 2011:311--320.
[24]
Tsantalis N, Mazinanian D, Krishnan G P. 2015. Assessing the Refactorability of Software Clones{J}. IEEE Transactions on Software Engineering, 2015, 41(11):1055--1090.
[25]
Higo Y, Kusumoto S, Inoue K. 2008. A metric-based approach to identifying refactoring opportunities for merging code clones in a Java software system{J}. Journal of Software Maintenance & Evolution Research & Practice, 2008, 20(6):435--461.
[26]
Bian Yixin. Research on Procedure Extraction Method of Clone Code for R efactoring {D}. Harbin: Harbin Institute of Technology, 2014.
[27]
Mondal M, Roy C K, Schneider K A. SPCP-Miner. 2010. A tool for mining code clones that are important for refactoring or tracking. IEEE, International Conference on Software Analysis, Evolution and Reengineering. IEEE, 2015:484--488.
[28]
Lozano A, Wermelinger M. 2010. Tracking clones' imprint. International Workshop on Software Clones. ACM, 2010:1125--1126.
[29]
Mazinanian D, Tsantalis N, Stein R, et al. 2016. JDeodorant: clone refactoring. ICSE '16 Companion. Austin, USA: ACM, 2016:613--616.
[30]
M. Fokaefs, N. Tsantalis, E. Stroulia, A. Chatzigeorgiou. 2011. JDeodorant: identification and application of extract class refactorings. 2011 33rd International Conference on Software Engineering(ICSE), Honolulu, HI, USA, 2011: 1037--1039.
[31]
N. Tsantalis, D. Mazinanian, and G. P. Krishnan. 2015. Assessing the refactorability of software clones. IEEE, Transactions on Software Engineering, 41(11):1055--1090, Nov 2015.
[32]
Szoke G, Nagy C, Fulop L J, et al. 2015. FaultBuster: An automatic code smell refactoring toolset. IEEE, International Working Conference on Source Code Analysis and Manipulation. IEEE, 2015:253--258.
[33]
SPCPMiner.https://homepage.usask.ca/~mam815/spcpminer/index.php
[34]
K. Prete, N. Rachatasumrit, N. Sudan, and M. Kim. 2010. Template-based reconstruction of complex refactorings. in Proceedings of the 26th IEEE International Conference on Software Maintenance. Timisoara, Romania, IEEE CS Press, 2010, pp. 1--10.
[35]
Yao Yongting, Liu Dongsheng, Zhang Liping, 2018. Detection Technology and Application of Clone Refactoring. The International Conference on Management Engineering, Software Engineering and Service Sciences. Wuhan, China, 2018:128--133
[36]
Zibran M F, Roy C K. 2011. A Constraint Programming Approach to Conflict-Aware Optimal Scheduling of Prioritized Code Clone Refactoring. IEEE International Working Conference on Source Code Analysis and Manipulation. IEEE, 2011:105--114.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICMSS 2019: Proceedings of the 2019 3rd International Conference on Management Engineering, Software Engineering and Service Sciences
January 2019
292 pages
ISBN:9781450361897
DOI:10.1145/3312662
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

  • China University of Geosciences

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 January 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Clone Code
  2. Refactorability Analysis
  3. Refactoring

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICMSS 2019

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 166
    Total Downloads
  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

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