FSD-CLCD: Functional semantic distillation graph learning for cross-language code clone detection

Linghao Zhang, Senlin Luo, Limin Pan*, Zhouting Wu, Kun Gong

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Code clone detection can find similar or the same code snippets, which is important in analyzing homologous components, discovering redundant code, and improving software system development and maintenance efficiency. A crucial challenge is to extract more functional semantic similarity from code in heterogeneous conditions, such as a cross-language scenario. Existing methods mainly exploit sequence models with only lexical and statistical features to compare code pairs, which are susceptible to linguistic feature noise and misclassify code pairs that have similar structure dependencies such as control flow. Meanwhile, there are issues with inconsistent node types and a great variation of node numbers while capturing structure-dependent features, resulting in a misaligned distribution of clone pairs, and weakening the detection precision. This work presents a novel cross-language code clone detection method. It represents code with a graph structure based on abstract syntax trees and introduces a global node to strengthen the connection between control flows. Prune the graph structure based on key node protection rules to reduce the impact of linguistic feature noise. Besides, optimize graph matching networks for cross-language abstract syntax trees by using contrastive loss to align the functional semantic distribution of clone pairs. The method distills the invariant functional semantic similarity with a huge discrepancy of the code graph in heterogeneous cross-language conditions. Experiment results show that the proposed method achieves scores of 0.95, 0.98, and 0.96 in terms of precision, recall and F1-score and substantially outperforms the state-of-the-art baselines.

Original languageEnglish
Article number108199
JournalEngineering Applications of Artificial Intelligence
Volume133
DOIs
Publication statusPublished - Jul 2024

Keywords

  • Code clone detection
  • Contrastive learning
  • Cross-language
  • Graph similarity learning

Fingerprint

Dive into the research topics of 'FSD-CLCD: Functional semantic distillation graph learning for cross-language code clone detection'. Together they form a unique fingerprint.

Cite this