English

ZC3: Zero-Shot Cross-Language Code Clone Detection

Software Engineering 2023-09-08 v2 Computation and Language Information Retrieval

Abstract

Developers introduce code clones to improve programming productivity. Many existing studies have achieved impressive performance in monolingual code clone detection. However, during software development, more and more developers write semantically equivalent programs with different languages to support different platforms and help developers translate projects from one language to another. Considering that collecting cross-language parallel data, especially for low-resource languages, is expensive and time-consuming, how designing an effective cross-language model that does not rely on any parallel data is a significant problem. In this paper, we propose a novel method named ZC3 for Zero-shot Cross-language Code Clone detection. ZC3 designs the contrastive snippet prediction to form an isomorphic representation space among different programming languages. Based on this, ZC3 exploits domain-aware learning and cycle consistency learning to further constrain the model to generate representations that are aligned among different languages meanwhile are diacritical for different types of clones. To evaluate our approach, we conduct extensive experiments on four representative cross-language clone detection datasets. Experimental results show that ZC3 outperforms the state-of-the-art baselines by 67.12%, 51.39%, 14.85%, and 53.01% on the MAP score, respectively. We further investigate the representational distribution of different languages and discuss the effectiveness of our method.

Keywords

Cite

@article{arxiv.2308.13754,
  title  = {ZC3: Zero-Shot Cross-Language Code Clone Detection},
  author = {Jia Li and Chongyang Tao and Zhi Jin and Fang Liu and Jia Li and Ge Li},
  journal= {arXiv preprint arXiv:2308.13754},
  year   = {2023}
}

Comments

Accepted by the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE 2023)