  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 language models, 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.
