CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code
By Toshihiro Kamiya, Shinji Kusumoto, Katsuro Inoue. IEEE Trans. Software Eng., 2002
1,913 citations recorded by the source corpus.
Subfields: Information Systems, Software, Signal Processing
View Paper: https://www.semanticscholar.org/paper/98e810ed098a651e0ba8cbb63d2d926d4eebdf9b
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
- Miltiadis Allamanis
- Charles Sutton
- Chanchal Kumar Roy
- James R. Cordy
- Premkumar T. Devanbu
- Earl T. Barr
- Hongyu Zhang
- Baishakhi Ray
In Software
- Miltiadis Allamanis
- Charles Sutton
- Chanchal Kumar Roy
- James R. Cordy
- Earl T. Barr
- Premkumar T. Devanbu
- Hongyu Zhang
- Rainer Koschke
In Signal Processing
- Chanchal Kumar Roy
- James R. Cordy
- Miltiadis Allamanis
- Charles Sutton
- Rainer Koschke
- Hongyu Zhang
- Gang Zhao
- Jeff Huang
Citations in the corpus
- The New C Standard (Excerpted material) An Economic and Cultural Commentary (2008, neutral): “Adapted from Kamiya, Kusumoto, and Inoue.[21]”
- The plastic surgery hypothesis (2014, background): “It has been known for some time that the production code contains software clones [3, 4, 8, 18].”
- Managing technical debt in software-reliant systems (2010, background): “Clone detection [12] and inferring systematic change patterns [13] are concerns relevant to code-level technical debt.”
- Shaping program repair space with existing patches and similar code (2018, methodology): “Our approach depends on the search of similar code in a project, which is related to the work on code clone detection [24, 28, 32, 55].”
- Supervised Deep Features for Software Functional Clone Detection by Exploiting Lexical and Syntactical Information in Source Code (2017, background): “CCFinderX [Kamiya et al., 2002] and SourcererCC [Sajnani et al., 2016] treat source codes as bags of tokens and compare subsequences to detect clones.”
- Scalable Graph-based Bug Search for Firmware Images (2016, methodology): “Similarly, token-based approaches such as CCFinder [33] and CP-Miner [35] utilize token sequence and scan for duplicate token sequences in other source code.”
- DeepSim: deep learning code functional similarity (2018, methodology): “Control flow and data flow represent a much higher abstraction than code syntactical features such as tokens [28, 47] and AST nodes [26].”
- DéjàVu: a map of code duplicates on GitHub (2017, background): “One of the earliest studies of inter-project cloning, [Kamiya et al. 2002] analyzed clones across three different operating systems.”
- Accurate and Efficient Refactoring Detection in Commit History (2018, methodology): “Their approach uses a clone detection tool (CCFinder [43]) to compare the bodies of the code elements that are candidates for refactorings.”
- Automatically generating commit messages from diffs using neural machine translation (2017, background): “For example, to detect code clones, traditional approaches predefine the representations of code fragments (some techniques use token sequences to represent code [25]; others use graphs [29], [9]).”
- CP-Miner: finding copy-paste and related bugs in large-scale software code (2006, methodology): “In FreeBSD, the CP% increases from 14.9 percent to 20.4 percent when max gap is relaxed from 0 to 1.”
- Mining idioms from source code (2014, methodology): “ee fragments. The only work that we are aware of that uses language models for detecting textual patterns in code is Jacob and Tairas [21] that use n-grams to autocomplete code templates. Code clones [10, 25, 26, 27, 31, 43, 44] are related to code idiom mining, since they aim to nd highly similar c”
- "Cloning Considered Harmful" Considered Harmful (2006, background): “In much of the literature on the topic [2, 7, 12, 21, 22, 27, 28], cloning is considered harmful to the quality of the source code.”
- Finding Clones with Dup: Analysis of an Experiment (2007, methodology): “The tools are based on various techniques, including token-based analysis (Dup and CCFinder), line-based analysis (Duploc), abstract syntax trees (CloneDR), program dependency graphs (Duplix), and metrics (CLAN).”
- Asking and Answering Questions during a Programming Change Task (2008, background): “For these questions, in some cases, it might also be possible to apply a code clone detector such as CCFinder [30] to determine a measure of similarity.”
- A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects (2016, neutral): “The typical categories are text-based [16, 38], token-based [9, 27, 34, 42], tree-based [11, 25, 18], and graph-based [31, 36].”