ASTRO: An AST-Assisted Approach for Generalizable Neural Clone Detection (2208.08067v1)
Abstract: Neural clone detection has attracted the attention of software engineering researchers and practitioners. However, most neural clone detection methods do not generalize beyond the scope of clones that appear in the training dataset. This results in poor model performance, especially in terms of model recall. In this paper, we present an Abstract Syntax Tree (AST) assisted approach for generalizable neural clone detection, or ASTRO, a framework for finding clones in codebases reflecting industry practices. We present three main components: (1) an AST-inspired representation for source code that leverages program structure and semantics, (2) a global graph representation that captures the context of an AST among a corpus of programs, and (3) a graph embedding for programs that, in combination with extant large-scale LLMs, improves state-of-the-art code clone detection. Our experimental results show that ASTRO improves state-of-the-art neural clone detection approaches in both recall and F-1 scores.
- Yifan Zhang (245 papers)
- Junwen Yang (11 papers)
- Haoyu Dong (55 papers)
- Qingchen Wang (5 papers)
- Huajie Shao (29 papers)
- Kevin Leach (29 papers)
- Yu Huang (176 papers)