  Code cloning, the duplication of code fragments, is common in software
development. While some reuse aids productivity, excessive cloning hurts
maintainability and introduces bugs. Hence, automatic code clone detection is
vital. Meanwhile, large language models (LLMs) possess diverse code-related
knowledge, making them versatile for various software engineering challenges.
However, LLMs' performance in code clone detection is unclear and needs more
study for accurate assessment. In this paper, we provide the first
comprehensive evaluation of LLMs for clone detection, covering different clone
types, languages, and prompts. We find advanced LLMs excel in detecting complex
semantic clones, surpassing existing methods. Adding intermediate reasoning
steps via chain-of-thought prompts noticeably enhances performance.
Additionally, representing code as vector embeddings, especially with text
encoders, effectively aids clone detection.Lastly, the ability of LLMs to
detect code clones differs among various programming languages. Our study
suggests that LLMs have potential for clone detection due to their language
capabilities, offering insights for developing robust LLM-based methods to
enhance software engineering.
