Discussion on Code Clone Modification Tool for Development Process with Version Control System

A code clone is a code fragment that has identical or similar code fragments to it in the source code. If developers modify a code clone, they have to determine whether or not to modify the corresponding code clones in source code. To keep the consistency of code clones, developers run a clone detection tool when they modify one of the code clones. This prevents the developers from concentrating on coding. A considerable solution is integrating a code clone detection tool into IDE, and detecting code clones when a developer changes source code. However, if a number of clone changes are notified when a developer complete a modification, this also prevents the developers from concentrating on coding. A commit of a version control system is a considerable timing of notifying clone changes. Because it is not frequent but also means the completion of a modification, commit-level notification does not interrupt implementation. In this study, we describe existing works related with the integration of version control system and code clone detection tool, and then discuss requirements of a clone modification tool for development process with version control. Finally, we introduce a tool satisfying the requirements under development.

[1]  Lu Zhang,et al.  Can I clone this piece of code here? , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[2]  Hoan Anh Nguyen,et al.  Clone-Aware Configuration Management , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[3]  Shinji Kusumoto,et al.  CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code , 2002, IEEE Trans. Software Eng..

[4]  Zhendong Su,et al.  DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones , 2007, 29th International Conference on Software Engineering (ICSE'07).

[5]  Hajimu Iida,et al.  SHINOBI: A Tool for Automatic Code Clone Detection in the IDE , 2009, 2009 16th Working Conference on Reverse Engineering.