Software clones are beneficial to detect security gaps and software maintenance in one programming language or across multiple languages. The existing work on source clone detection performs well but in a single programming language. However, if a piece of code with the same functionality is written in different programming languages, detecting it is harder as different programming languages have a different lexical structure. Moreover, most existing work rely on manual feature engineering. In this paper, we propose a deep neural network model based on source code AST embeddings to detect cross-language clones in an end-to-end fashion of the source code without the need of the manual process to pinpoint similar features across different programming languages. To overcome data shortage and reduce overfitting, a Siamese architecture is employed. The design methodology of our model is twofold -- (a) it accepts AST embeddings as input for two different programming languages, and (b) it uses a deep neural network to learn abstract features from these embeddings to improve the accuracy of cross-language clone detection. The early evaluation of the model observes an average precision, recall and F-measure score of 0.99, 0.59 and 0.80 respectively, which indicates that our model outperforms all available models in cross-language clone detection.
@article{arxiv.2205.04913,
title = {Cross-Language Source Code Clone Detection Using Deep Learning with InferCode},
author = {Mohammad A. Yahya and Dae-Kyoo Kim},
journal= {arXiv preprint arXiv:2205.04913},
year = {2022}
}