Tracking Code Clones in Evolving Software
Abstract
Code clones are generally considered harmful in software development, and the predominant approach is to try to eliminate them through refactoring. However, recent research has provided evidence that it may not always be practical, feasible, or cost-effective to eliminate certain clone groups. We propose a technique for tracking clones in evolving software. Our technique relies on the concept of abstract clone region descriptors (CRD), which describe clone regions within methods in a robust way that is independent from the exact text of the clone region or its location in a file. We present our definition of CRDs, and describe a complete clone tracking system capable of producing CRDs from the output of a clone detection tool, notify developers of modifications to clone regions, and support the simultaneous editing of clone regions. We report on two experiments and a case study conducted to assess the performance and usefulness of our approach.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
MCIDiff and CloneTracker consider the possible set of clones, show the length and the number of instances of all code clones, not just nearby ones, to help the developer predict E(Cw) of handling any or all of these clones.
“These two clone-tracking tools consider the possible set of clones, show the length and the number of instances of all code clones, not just nearby ones, to help the developer predict E(C w ) of handing any or all of these clones.”
From Foraging and navigations, fundamentally: developers' predictions of value and cost (2016) · cites this paper as [11]
Cites
Refactoring: Improving the Design of Existing Code
Fowler, M. (2002) · Lecture notes in computer science · doi:10.1007/3-540-45672-4_31 · Cited by 5,615 · see citing works
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
Kamiya, T., Kusumoto, S., & Inoue, K. (2002) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2002.1019480 · Cited by 1,715 · see citing works
A technique for computer detection and correction of spelling errors
Damerau, F. J. (1964) · Communications of the ACM · doi:10.1145/363958.363994 · Cited by 1,598 · see citing works
An empirical study of code clone genealogies
Kim, M., Sazawal, V., Notkin, D. S., & Murphy, G. C. (2005) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1081706.1081737 · Cited by 538 · see citing works
Xing, Z., & Stroulia, E. (2005) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/1101908.1101919 · Cited by 374 · see citing works
An Overview of Sequence Comparison: Time Warps, String Edits, and Macromolecules
Kruskal, J. B. (1983) · SIAM Review · doi:10.1137/1025045 · Cited by 352 · see citing works
An ethnographic study of copy and paste programming practices in oopl
Kim, M., Bergman, L., Lau, T., & Notkin, D. (2004) · Cited by 240 · see citing works
Representing concerns in source code
Robillard, M. P., & Murphy, G. C. (2007) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/1189748.1189751 · Cited by 215 · see citing works
Self-citationAn empirical study of code clone genealogies
Kim, M., Sazawal, V., Notkin, D. S., & Murphy, G. C. (2005) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/1095430.1081737 · Cited by 208 · see citing works
Managing Duplicated Code with Linked Editing
Toomim, M., Begel, A., & Graham, S. L. (2005) · doi:10.1109/vlhcc.2004.35 · Cited by 179 · see citing works
An ethnographic study of copy and paste programming practices in OOPL
Kim, M., Bergman, L., Lau, T., & Notkin, D. S. (2004) · International Symposium on Empirical Software Engineering · doi:10.1109/isese.2004.1334896 · Cited by 117 · see citing works
A join point for loops in AspectJ
Harbulot, B., & Gurd, J. R. (2006) · International Conference on Aspect-Oriented Software Development (AOSD) · doi:10.1145/1119655.1119666 · Cited by 108 · see citing works
Program element matching for multi-version program analyses
Kim, M., & Notkin, D. S. (2006) · doi:10.1145/1137983.1137999 · Cited by 106 · see citing works
Exploiting the map metaphor in a tool for software evolution
Griswold, W. G., Yuan, J. J., & Kato, Y. (2001) · doi:10.5555/381473.381501 · Cited by 95 · see citing works
Robillard, M. P., & Warr, F. W. (2005) · Eclipse Technology eXchange · doi:10.1145/1117696.1117710 · Cited by 89 · see citing works
Self-citationInteractive Simultaneous Editing of Multiple Text Regions
Miller, R., & Myers, B. A. (2018) · Figshare · doi:10.1184/r1/6622679 · Cited by 81 · see citing works
Partial redesign of Java software systems based on clone analysis
Bałazińska, M., Merlo, E., Dagenais, M., Laguë, B., & Kontogiannis, K. A. (2003) · Working Conference on Reverse Engineering (WCRE) · doi:10.1109/wcre.1999.806971 · Cited by 79 · see citing works
Refactoring Support Based on Code Clone Analysis
Higo, Y., Kamiya, T., Kusumoto, S., & Inoue, K. (2004) · Lecture notes in computer science · doi:10.1007/978-3-540-24659-6_16 · Cited by 70 · see citing works
Some strategies of reuse in an object-oriented programming environment
Lange, B. M., & Moher, T. G. (1989) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/67449.67465 · Cited by 69 · see citing works
Relation of Code Clones and Change Couplings
Geiger, R., Fluri, B., Gall, H. C., & Pinzger, M. (2006) · Lecture notes in computer science · doi:10.1007/11693017_31 · Cited by 63 · see citing works
Concern modeling in the concern manipulation environment
Harrison, W., Ossher, H. L., Sutton, S. M., & Tarr, P. L. (2005) · ACM SIGSOFT Software Engineering Notes · doi:10.1145/1082983.1083134 · Cited by 44 · see citing works
Reducing the variability of programmers' performance through explained examples
Redmiles, D. (1993) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/169059.169082 · Cited by 39 · see citing works
Maintaining software through intentional source-code views
Mens, K., Mens, T., & Wermelinger, M. (2002) · Proceedings/Proceedings of the ... International Conference on Software Engineering and Knowledge Engineering · doi:10.1145/568760.568812 · Cited by 39 · see citing works
Identifying cloned navigational patterns in web applications
Lucia, A. D., Francese, R., Scanniello, G., & Tortora, G. (2006) · CINECA IRIS Institutional Research Information System (University of Basilicata) · Cited by 13 · see citing works
Maintaining software through intentional source-code views
Mens, K., Mens, T., & Wermelinger, M. (2002) · Proceedings/Proceedings of the ... International Conference on Software Engineering and Knowledge Engineering · doi:10.1145/568810.568812 · Cited by 8 · see citing works
Flagged first, then by citations
2 of the 27 references couldn’t be matched to a known paper.
Cited by
Sorted by citations
A Survey on Software Clone Detection Research
Roy, C. K., & Cordy, J. R. (2007) · Cited by 732 · see citing works
Software clone detection: A systematic review
Rattan, D., Bhatia, R., & Singh, M. (2013) · Information and Software Technology · doi:10.1016/j.infsof.2013.01.008 · Cited by 415 · see citing works
“Cloning considered harmful” considered harmful: patterns of cloning in software
Kapser, C. J., & Godfrey, M. W. (2008) · Empirical Software Engineering · doi:10.1007/s10664-008-9076-6 · Cited by 366 · see citing works
Juergens, E., Deissenboeck, F., Hummel, B., & Wagner, S. (2009) · Cited by 354 · see citing works
Juergens, E., Deissenboeck, F., Hummel, B., & Wagner, S. (2009) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2009.5070547 · Cited by 318 · see citing works
Göde, N., & Koschke, R. (2009) · Euromicro Conference on Software Maintenance and Reengineering (CSMR) · doi:10.1109/csmr.2009.20 · Cited by 222 · see citing works
An empirical study on the maintenance of source code clones
Thummalapenta, S., Cerulo, L., Aversano, L., & Penta, M. D. (2009) · Empirical Software Engineering · doi:10.1007/s10664-009-9108-x · Cited by 205 · see citing works
Index-based code clone detection: incremental, distributed, scalable
Hummel, B., Juergens, E., Heinemann, L., & Conradt, M. (2010) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2010.5609665 · Cited by 144 · see citing works
Rahman, F., Bird, C., & Devanbu, P. (2012) · Empirical Software Engineering · doi:10.1007/s10664-011-9195-3 · Cited by 132 · see citing works
Clone Management for Evolving Software
Nguyen, H. A., Nguyen, T. T., Pham, N. H., Al-Kofahi, J. M., & Nguyen, T. N. (2011) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2011.90 · Cited by 126 · see citing works
Achievements and challenges in software reverse engineering
Canfora, G., Penta, M. D., & Cerulo, L. (2011) · Communications of the ACM · doi:10.1145/1924421.1924451 · Cited by 125 · see citing works
Detection of recurring software vulnerabilities
Pham, N. H., Nguyen, T. T., Nguyen, H. A., & Nguyen, T. N. (2010) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/1858996.1859089 · Cited by 125 · see citing works
Recurring bug fixes in object-oriented programs
Nguyen, T. T., Nguyen, H. A., Pham, N. H., Al-Kofahi, J. M., & Nguyen, T. N. (2010) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1806799.1806847 · Cited by 122 · see citing works
Harnessing Evolution for Multi-Hunk Program Repair
Saha, S., Saha, R. K., & Prasad, M. R. (2019) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2019.00020 · Cited by 119 · see citing works
A Systematic Literature Review on Bad Smells–5 W's: Which, When, What, Who, Where
Sobrinho, E. V. D. P., Lucia, A. D., & Maia, M. D. A. (2018) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2018.2880977 · Cited by 118 · see citing works
Meng, N., Kim, M., & McKinley, K. S. (2011) · ACM SIGPLAN Notices · doi:10.1145/1993316.1993537 · Cited by 112 · see citing works
Kim, H., Jung, Y., Kim, S., & Yi, K. (2011) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1985793.1985835 · Cited by 111 · see citing works
Jablonski, P., & Hou, D. (2007) · Eclipse Technology eXchange · doi:10.1145/1328279.1328283 · Cited by 101 · see citing works
Clone Smells in Software Evolution
Bakota, T., Ferenć, R., & Gyimóthy, T. (2007) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2007.4362615 · Cited by 97 · see citing works
Detection and analysis of near-miss software clones
Roy, C. K. (2009) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2009.5306301 · Cited by 96 · see citing works
Duala-Ekoko, E., & Robillard, M. P. (2008) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1368088.1368218 · Cited by 93 · see citing works
Self-citationAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
Bettenburg, N., Shang, W., Ibrahim, W., Adams, B., Zou, Y., & Hassan, A. E. (2009) · Working Conference on Reverse Engineering (WCRE) · doi:10.1109/wcre.2009.51 · Cited by 90 · see citing works
Rahman, F., Bird, C., & Dévanbu, P. (2010) · International Conference on Mining Software Repositories (MSR) · doi:10.1109/msr.2010.5463343 · Cited by 87 · see citing works
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
Fleming, S. D., Scaffidi, C., Piorkowski, D., Burnett, M., Bellamy, R., Lawrance, J., & Kwan, I. (2013) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/2430545.2430551 · Cited by 79 · see citing works
Using twinning to adapt programs to alternative APIs
Nita, M., & Notkin, D. (2010) · Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 · doi:10.1145/1806799.1806832 · Cited by 75 · see citing works
Increasing clone maintenance support by unifying clone detection and refactoring activities
Tairas, R., & Gray, J. (2012) · Information and Software Technology · doi:10.1016/j.infsof.2012.06.011 · Cited by 74 · see citing works
Supporting the Grow-and-Prune Model in Software Product Lines Evolution Using Clone Detection
Mende, T., Beckwermert, F., Koschke, R., & Meier, G. (2008) · Euromicro Conference on Software Maintenance and Reengineering (CSMR) · doi:10.1109/csmr.2008.4493311 · Cited by 74 · see citing works
Meng, N., Kim, M., & McKinley, K. S. (2011) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/1993498.1993537 · Cited by 71 · see citing works
Higo, Y., Kusumoto, S., & Inoue, K. (2008) · Journal of Software Maintenance and Evolution Research and Practice · doi:10.1002/smr.394 · Cited by 71 · see citing works
Göde, N. (2009) · IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM) · doi:10.1109/scam.2009.17 · Cited by 66 · see citing works
Fix Me Up: Repairing Access-Control Bugs in Web Applications
Son, S., McKinley, K. S., & Shmatikov, V. (2013) · Cited by 64 · see citing works
Inter-smell relations in industrial and open source systems: A replication and comparative analysis
Yamashita, A. F., Zanoni, M., Fontana, F. A., & Walter, B. (2015) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2015.7332458 · Cited by 63 · see citing works
Scalable and systematic detection of buggy inconsistencies in source code
Gabel, M., Yang, J., Yu, Y., Goldszmidt, M., & Su, Z. (2010) · Conference on Object-Oriented Programming Systems, Languages, and Applications · doi:10.1145/1869459.1869475 · Cited by 64 · see citing works
SHINOBI: A Tool for Automatic Code Clone Detection in the IDE
Kawaguchi, S., Yamashina, T., Uwano, H., Fushida, K., Kamei, Y., Nagura, M., & Iida, H. (2009) · Working Conference on Reverse Engineering (WCRE) · doi:10.1109/wcre.2009.36 · Cited by 61 · see citing works
Clone-Aware Configuration Management
Nguyen, T. T., Nguyen, H. A., Pham, N. H., Al-Kofahi, J. M., & Nguyen, T. N. (2009) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2009.90 · Cited by 57 · see citing works
Analyzing and Forecasting Near-Miss Clones in Evolving Software: An Empirical Study
Zibran, M. F., Saha, R. K., Asaduzzaman, M., & Roy, C. K. (2011) · IEEE International Conference on Engineering of Complex Computer Systems (ICECCS) · doi:10.1109/iceccs.2011.36 · Cited by 57 · see citing works
Dang, Y., Zhang, D., Song, G., Chu, C., Qiu, Y., & Xie, T. (2012) · Annual Computer Security Applications Conference · doi:10.1145/2420950.2421004 · Cited by 56 · see citing works
How different are different diff algorithms in Git?
Nugroho, Y. S., Hata, H., & Matsumoto, K. (2019) · Empirical Software Engineering · doi:10.1007/s10664-019-09772-z · Cited by 55 · see citing works
Software smell detection techniques: A systematic literature review
AbuHassan, A., Alshayeb, M., & Ghouti, L. (2020) · Journal of Software Evolution and Process · doi:10.1002/smr.2320 · Cited by 53 · see citing works
Tracking Your Changes: A Language-Independent Approach
Canfora, G., Cerulo, L., & Penta, M. D. (2008) · IEEE Software · doi:10.1109/ms.2009.26 · Cited by 52 · see citing works
Code Duplication and Reuse in Jupyter Notebooks
Koenzen, A. P., Ernst, N., & Storey, M. (2020) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl/hcc50065.2020.9127202 · Cited by 51 · see citing works
Bug Replication in Code Clones: An Empirical Study
Islam, J. F., Mondal, M., & Roy, C. K. (2016) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner.2016.78 · Cited by 50 · see citing works
LHDiff: A Language-Independent Hybrid Approach for Tracking Source Code Lines
Asaduzzaman, M., Roy, C. K., Schneider, K. A., & Penta, M. D. (2013) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2013.34 · Cited by 49 · see citing works
An empirical study on inconsistent changes to code clones at the release level
Bettenburg, N., Shang, W., Ibrahim, W. M., Adams, B., Zou, Y., & Hassan, A. E. (2010) · Science of Computer Programming · doi:10.1016/j.scico.2010.11.010 · Cited by 47 · see citing works
Hata, H., Mizuno, O., & Kikuno, T. (2011) · doi:10.1145/2024445.2024463 · Cited by 46 · see citing works
CnP: Towards an environment for the proactive management of copy-and-paste programming
Hou, D., Jablonski, P., & Jacob, F. (2009) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2009.5090049 · Cited by 45 · see citing works
Recommending Clones for Refactoring Using Design, Context, and History
Wang, W., & Godfrey, M. W. (2014) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsme.2014.55 · Cited by 44 · see citing works
The life and death of statically detected vulnerabilities: An empirical study
Penta, M. D., Cerulo, L., & Aversano, L. (2009) · Information and Software Technology · doi:10.1016/j.infsof.2009.04.013 · Cited by 43 · see citing works
Semi-automating small-scale source code reuse via structural correspondence
Cottrell, R., Walker, R. J., & Denzinger, J. (2008) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1453101.1453130 · Cited by 42 · see citing works
An empirical study of supplementary bug fixes
Park, J., Kim, M., Ray, B., & Bae, D. (2012) · International Conference on Mining Software Repositories (MSR) · doi:10.1109/msr.2012.6224298 · Cited by 42 · see citing works
Does Automated Refactoring Obviate Systematic Editing?
Meng, N., Hua, L., Kim, M., & McKinley, K. S. (2016) · Cited by 41 · see citing works
A comparative study on the bug-proneness of different types of code clones
Mondal, M., Roy, C. K., & Schneider, K. A. (2015) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2015.7332455 · Cited by 41 · see citing works
Li, Z., Chen, T.-H. P., & Shang, W. (2020) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3324884.3416636 · Cited by 41 · see citing works
Visual augmentation of source code editors: A systematic mapping study
Sulír, M., Bačíková, M., Chodarev, S., & Porubän, J. (2018) · Journal of Visual Languages & Computing · doi:10.1016/j.jvlc.2018.10.001 · Cited by 40 · see citing works
Foraging and navigations, fundamentally: developers' predictions of value and cost
Piorkowski, D., Henley, A. Z., Nabi, T., Fleming, S. D., Scaffidi, C., & Burnett, M. (2016) · Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering · doi:10.1145/2950290.2950302 · Cited by 38 · see citing works
Meng, N., Kim, M., & McKinley, K. S. (2011) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/2025113.2025185 · Cited by 38 · see citing works
A code reuse interface for non-programmer middle school students
Gross, P. A., Herstand, M. S., Hodges, J. W., & Kelleher, C. L. (2010) · ACM International Conference on Intelligent User Interfaces (IUI) · doi:10.1145/1719970.1720001 · Cited by 37 · see citing works
A systematic literature review on the use of machine learning in code clone research
Kaur, M., & Rattan, D. (2022) · Computer Science Review · doi:10.1016/j.cosrev.2022.100528 · Cited by 37 · see citing works
Scalable and incremental clone detection for evolving software
Nguyen, T. T., Nguyen, H. A., Al-Kofahi, J. M., Pham, N. H., & Nguyen, T. N. (2009) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2009.5306283 · Cited by 36 · see citing works
Investigating Context Adaptation Bugs in Code Clones
Mondal, M., Roy, B., Roy, C. K., & Schneider, K. A. (2019) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsme.2019.00026 · Cited by 32 · see citing works
Code clones in feature-oriented software product lines
Schulze, S., Apel, S., & Kästner, C. (2010) · International Conference on Generative Programming and Component Engineering (GPCE) · doi:10.1145/1868294.1868310 · Cited by 31 · see citing works
Does Automated Refactoring Obviate Systematic Editing?
Hua, L., Kim, M., & McKinley, K. S. (2015) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2015.58 · Cited by 31 · see citing works
Studying software evolution using artefacts’ shared information content
Arbuckle, T. (2010) · Science of Computer Programming · doi:10.1016/j.scico.2010.11.005 · Cited by 31 · see citing works
Automated type-3 clone oracle using Levenshtein metric
Lavoie, T., & Merlo, E. (2011) · IEEE International Workshop on Software Clones (IWSC) · doi:10.1145/1985404.1985411 · Cited by 30 · see citing works
A survey on clone refactoring and tracking
Mondal, M., Roy, C. K., & Schneider, K. A. (2019) · Journal of Systems and Software · doi:10.1016/j.jss.2019.110429 · Cited by 30 · see citing works
Determining detailed structural correspondence for generalization tasks
Cottrell, R., Chang, J. J. C., Walker, R. J., & Denzinger, J. (2007) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1287624.1287649 · Cited by 28 · see citing works
Refactoring-based support for binary compatibility in evolving frameworks
Şavga, I., & Rudolf, M. (2007) · International Conference on Generative Programming and Component Engineering (GPCE) · doi:10.1145/1289971.1290000 · Cited by 28 · see citing works
Mens, K., Kellens, A., & Krinke, J. (2008) · Working Conference on Reverse Engineering (WCRE) · doi:10.1109/wcre.2008.10 · Cited by 28 · see citing works
Prediction and ranking of co-change candidates for clones
Mondal, M., Roy, C. K., & Schneider, K. A. (2014) · International Conference on Mining Software Repositories (MSR) · doi:10.1145/2597073.2597104 · Cited by 28 · see citing works
Simultaneous Modification Support based on Code Clone Analysis
Higo, Y., Ueda, Y., Kusumoto, S., & Inoue, K. (2007) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec.2007.83 · Cited by 28 · see citing works
Robbes, R. (2009) · reroDoc Digital Library · Cited by 28 · see citing works
Defining a measure of cloud computing elasticity
Shawky, D., & Ali, A. F. (2012) · International Conference on Systems and Computer Science (ICSCS) · doi:10.1109/iconscs.2012.6502449 · Cited by 27 · see citing works
Micro-clones in evolving software
Mondai, M., Roy, C. K., & Schneider, K. A. (2018) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner.2018.8330196 · Cited by 27 · see citing works
Predicting Consistency-Maintenance Requirement of Code Clonesat Copy-and-Paste Time
Wang, X., Dang, Y., Zhang, L., Zhang, D., Lan, E., & Mei, H. (2014) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2014.2323972 · Cited by 25 · see citing works
Active refinement of clone anomaly reports
Lucia, Lo, D., Jiang, L., & Budi, A. (2012) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2012.6227175 · Cited by 25 · see citing works
Index-based model clone detection
Hummel, B., Juergens, E., & Steidl, D. (2011) · IEEE International Workshop on Software Clones (IWSC) · doi:10.1145/1985404.1985409 · Cited by 25 · see citing works
A machine learning based framework for code clone validation
Mostaeen, G., Roy, B., Roy, C. K., Schneider, K. A., & Svajlenko, J. (2020) · Journal of Systems and Software · doi:10.1016/j.jss.2020.110686 · Cited by 24 · see citing works
Fuzzy Fine-Grained Code-History Analysis
Servant, F., & Jones, J. A. (2017) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2017.74 · Cited by 24 · see citing works
Actively comparing clones inside the code editor
Jacob, F., Hou, D., & Jablonski, P. (2010) · IEEE International Workshop on Software Clones (IWSC) · doi:10.1145/1808901.1808903 · Cited by 23 · see citing works
Structural analysis and visualization of C++ code evolution using syntax trees
Chevalier, F., Auber, D., & Telea, A. C. (2007) · International Workshop on Principles of Software Evolution · doi:10.1145/1294948.1294971 · Cited by 23 · see citing works
Towards a refactoring guideline using code clone classification
Schulze, S., Kuhlemann, M., & Rosenmüller, M. (2008) · Workshop on Refactoring Tools (WRT) · doi:10.1145/1636642.1636648 · Cited by 22 · see citing works
Aiding Software Maintenance with Copy-and-Paste Clone-Awareness
Jablonski, P., & Hou, D. (2010) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2010.22 · Cited by 22 · see citing works
Identifying More Equivalent Mutants via Code Similarity
Kintis, M., & Malevris, N. (2013) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec.2013.34 · Cited by 22 · see citing works
Applying clone change notification system into an industrial development process
Yamanaka, Y., Choi, E., Yoshida, N., Inoue, K., & Sano, T. (2013) · International Conference on Program Comprehension · doi:10.1109/icpc.2013.6613848 · Cited by 22 · see citing works
Tracking code patterns over multiple software versions with Herodotos
Palix, N., Lawall, J., & Muller, G. (2010) · International Conference on Aspect-Oriented Software Development (AOSD) · doi:10.1145/1739230.1739250 · Cited by 21 · see citing works
Exploring Regular Expression Evolution
Wang, P., Bai, G. R., & Stolee, K. T. (2019) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner.2019.8667972 · Cited by 20 · see citing works
Thongtanunam, P., Shang, W., & Hassan, A. E. (2018) · Empirical Software Engineering · doi:10.1007/s10664-018-9645-2 · Cited by 19 · see citing works
CloneCognition: machine learning based code clone validation tool
Mostaeen, G., Svajlenko, J., Roy, B., Roy, C. K., & Schneider, K. A. (2019) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3338906.3341182 · Cited by 18 · see citing works
Exploring the design space of proactive tool support for copy-and-paste programming
Hou, D., Jacob, F., & Jablonski, P. (2009) · IEEE International Conference on Collaborative Advances in Software and Computing (CASCON) · doi:10.1145/1723028.1723051 · Cited by 18 · see citing works
An empirical study on the fault-proneness of clone migration in clone genealogies
Xie, S., Khomh, F., Zou, Y., & Keivanloo, I. (2014) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/csmr-wcre.2014.6747229 · Cited by 17 · see citing works
Inferring Bug Signatures to Detect Real Bugs
Zhong, H., Wang, X., & Mei, H. (2020) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2020.2996975 · Cited by 17 · see citing works
Review of Code Similarity and Plagiarism Detection Research Studies
Lee, G., Kim, J., Choi, M.-S., Jang, R.-Y., & Lee, R. (2023) · Applied Sciences · doi:10.3390/app132011358 · Cited by 15 · see citing works
Tracking the Evolution of Code Clones
Bakota, T. (2011) · Lecture notes in computer science · doi:10.1007/978-3-642-18381-2_7 · Cited by 15 · see citing works
Simultaneous Modification Support based on Code Clone Analysis
Higo, Y., Ueda, Y., Kusumoto, S., & Inoue, K. (2007) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/aspec.2007.44 · Cited by 15 · see citing works
An empirical study of supplementary patches in open source projects
Park, J., Kim, M., & Bae, D. (2016) · Empirical Software Engineering · doi:10.1007/s10664-016-9432-x · Cited by 14 · see citing works
A Technique for Just-in-Time Clone Detection in Large Scale Systems
Barbour, L., Yuan, H., & Zou, Y. (2010) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2010.13 · Cited by 14 · see citing works
Rule-directed code clone synchronization
Cheng, X. Y., Zhong, H., Chen, Y., Hu, Z., & Zhao, J. (2016) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2016.7503722 · Cited by 13 · see citing works
Cleman: Comprehensive Clone Group Evolution Management
Nguyen, T. T., Nguyen, H. A., Pham, N. H., Al-Kofahi, J. M., & Nguyen, T. N. (2008) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2008.71 · Cited by 13 · see citing works
Toward an Understanding of Software Code Cloning as a Development Practice
Kapser, C. J. (2009) · UWSpace (University of Waterloo) · Cited by 13 · see citing works
A comparative study on the intensity and harmfulness of late propagation in near-miss code clones
Mondal, M., Roy, C. K., & Schneider, K. A. (2016) · Software Quality Journal · doi:10.1007/s11219-016-9305-y · Cited by 12 · see citing works
- Authors
- Duala-Ekoko, E., & Robillard, M. P.
- Affiliations
- McGill University (CA)
- ORCID
- Robillard, Martin P.
- Venue
- 29th International Conference on Software Engineering (ICSE'07)
- Publisher
- IEEE
- Published
- 2007-05
- Pages
- 158-167
- ISSN
- 0270-5257 (ISSN-L)
- OpenAlex
- W2145544369
- Cited by
- 222
- References
- 27
- Citations by year
- 2026: 1 · 2025: 2 · 2024: 5 · 2023: 6 · 2022: 3 · 2021: 9 · 2020: 9 · 2019: 12 · 2018: 10 · 2017: 6 · 2016: 14 · 2015: 16 · 2014: 13 · 2013: 18 · 2012: 14
- FWCI
- 16.47
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) (publishedVersion)
- Funders
- Natural Sciences and Engineering Research Council of Canada
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Keywords
- code clones, clone detection, evolving software, software maintenance, refactoring
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review