Detecting differences across multiple instances of code clones
| dc.contributor.author | Lin, Yun | en |
| dc.contributor.author | Xing, Zhenchang | en |
| dc.contributor.author | Xue, Yinxing | en |
| dc.contributor.author | Liu, Yang | en |
| dc.contributor.author | Peng, Xin | en |
| dc.contributor.author | Sun, Jun | en |
| dc.contributor.author | Zhao, Wenyun | en |
| dc.date.accessioned | 2025-12-17T20:41:25Z | |
| dc.date.available | 2025-12-17T20:41:25Z | |
| dc.date.issued | 2014-05-31 | en |
| dc.description.abstract | Clone detectors find similar code fragments (i.e., instances of code clones) and report large numbers of them for industrial systems. To maintain or manage code clones, developers often have to investigate differences of multiple cloned code fragments. However,existing program differencing techniques compare only two code fragments at a time. Developers then have to manually combine several pairwise differencing results. In this paper, we present an approach to automatically detecting differences across multiple clone instances. We have implemented our approach as an Eclipse plugin and evaluated its accuracy with three Java software systems. Our evaluation shows that our algorithm has precision over 97.66% and recall over 95.63% in three open source Java projects. We also conducted a user study of 18 developers to evaluate the usefulness of our approach for eight clone-related refactoring tasks. Our study shows that our approach can significantly improve developersperformance in refactoring decisions, refactoring details, and task completion time on clone-related refactoring tasks. Automatically detecting differences across multiple clone instances also opens opportunities for building practical applications of code clones in software maintenance, such as auto-generation of application skeleton, intelligent simultaneous code editing. | en |
| dc.description.sponsorship | This work is supported by National High Technology Development 863 Program of China under Grant No.2012AA011202, National Natural Science Foundation of China under Grant No.61370079 and NTU Startup Grant M4081029.020.500000. | en |
| dc.description.status | Peer-reviewed | en |
| dc.format.extent | 11 | en |
| dc.identifier.issn | 0270-5257 | en |
| dc.identifier.scopus | 84994181482 | en |
| dc.identifier.uri | https://hdl.handle.net/1885/733796416 | |
| dc.language.iso | en | en |
| dc.relation.ispartofseries | 36th International Conference on Software Engineering, ICSE 2014 | en |
| dc.rights | Publisher Copyright: © 2014 ACM. | en |
| dc.source | Proceedings - International Conference on Software Engineering | en |
| dc.subject | Code clone | en |
| dc.subject | Human study | en |
| dc.subject | Program differencing | en |
| dc.title | Detecting differences across multiple instances of code clones | en |
| dc.type | Conference paper | en |
| dspace.entity.type | Publication | en |
| local.bibliographicCitation.lastpage | 174 | en |
| local.bibliographicCitation.startpage | 164 | en |
| local.contributor.affiliation | Lin, Yun; Fudan University | en |
| local.contributor.affiliation | Xing, Zhenchang; Nanyang Technological University | en |
| local.contributor.affiliation | Xue, Yinxing; National University of Singapore | en |
| local.contributor.affiliation | Liu, Yang; Nanyang Technological University | en |
| local.contributor.affiliation | Peng, Xin; Fudan University | en |
| local.contributor.affiliation | Sun, Jun; Singapore University of Technology and Design | en |
| local.contributor.affiliation | Zhao, Wenyun; Fudan University | en |
| local.identifier.ariespublication | u5357342xPUB33 | en |
| local.identifier.doi | 10.1145/2568225.2568298 | en |
| local.identifier.pure | c126c6af-27ce-4adb-9651-1c9e17e89b5b | en |
| local.identifier.url | https://www.scopus.com/pages/publications/84994181482 | en |
| local.type.status | Published | en |