# Review of Code Similarity and Plagiarism Detection Research Studies
## 3 Code Similarity Detection Techniques
### Evaluation of Code Similarity Detection Techniques
#### 3.7.2 Research Trends on Code Similarity Detection Techniques  
Proposals for new code similarity detection techniques were actively made from the 1990s to the early 2000s. However, from the mid-2000s, proposals for new techniques began to decrease rapidly. Code clone detection tools such as CCFinder (2002) [16], CP-Miner (2006) [19], and Deckard (2007) [32], which are often used in research requiring code similarity detection, were all published in the early to mid-2000s. It is appropriate to consider that this trend resulted from a change in attitude toward code clones, rather than from technical limitations encountered in the development of code similarity detection techniques. In the past, after [PERSON] referred to code clones as _code smell_[53], there was a strong opinion that they impacted maintenance. Code clones are considered to occur because of reuse due to copying and pasting code; thus, if there is a defect in the code clone, the defect is propagated. Therefore, it is opened that there is a need to manage the same code during maintenance. However, as [54; 55; 56; 57] revealed in research studies conducted to analyze the characteristics of code clones and their impact on maintenance, code clones tend to be more stable because they are reusable codes and are less likely to change to complete codes or require maintenance. In this way, it was discovered that developers have been managing them properly. Accordingly, interest in the development of a code clone detection technique, which is aimed at helping to detect and remove such code clones through refactoring or separate management, has decreased. In addition, already developed code clone detection techniques are diverse and have been evaluated to be of sufficiently usable performance. Therefore, unless a new requirement for detecting similar codes emerges, or an idea for a code similarity detection technique using a highly differentiated method is presented, it will be difficult for researchers to develop a code similarity detection technique with a high contribution.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Feature** & **Text-Based** & **Token-Based** & **Tree-Based** & **PDG-Based** & **Hybrid** \\ \hline Abstraction Level & low & middle & high & very high & middle \\ \hline \multirow{3}{*}{Detected Clone Types} & Type I, II, & Type I, II, & Type I, II, & \multirow{3}{*}{\begin{tabular}{c} Type I, II, III, IV \\ parameterized \\ clone, limited type \\ III and gap clone \\ \end{tabular} } & & & Type I, II, III, IV & \multirow{3}{*}{\begin{tabular}{c} Type I, II, III, IV \\ and reordering \\ ID and gap clone \\ \end{tabular} } & & Type I, II, III, IV & \multirow{3}{*}{\
\begin{tabular}{c} Type I, II, III, IV \\ and parameterized, \\ gapped, reordered \\ clones, etc. \\ \end{tabular} } \\ \cline{1-1}  & & & & \\ \hline \multirow{3}{*}{
\begin{tabular}{c} Language Dependency \\ \end{tabular} } & & & & \\ \cline{1-1}  & & & & \\ \hline Efficiency & high & high & middle & low & middle \\ \hline Extensibility & high & high & middle & low & middle \\ \hline \hline \end{tabular}
\end{table}
Table 3: Characteristics of code similarity detection techniques.