中文

站在巨人的肩膀上:跨语言代码克隆检测的稳定化知识蒸馏

人工智能 2026-05-06 v1 机器学习 软件工程

摘要

跨语言代码克隆检测(X-CCD)具有挑战性,因为在不同编程语言中,语义等价的程序往往在表面结构上几乎没有相似之处。虽然大型语言模型(LLM)在语义克隆检测方面显示出前景,但将其作为黑箱系统使用会引发成本、可重复性、隐私以及不可靠输出格式的问题。特别是,紧凑且开源的模型往往难以遵循面向推理的提示,并产生可一致映射到二进制克隆标签的输出。为此,我们提出一种知识蒸馏框架,将推理能力从 DeepSeek-R1 蒸馏到针对 X-CCD 的紧凑开源学生模型中。使用从 Project CodeNet 中获得的跨语言代码对,我们构建面向推理的合成训练数据,并对 Phi3 和 Qwen-Coder 进行 LoRA adapter 微调。我们进一步引入响应稳定方法,包括强制结论提示、二元分类头和对比分类头,并通过预测指标和响应率评估模型行为。实验在 Python--Java、Rust--Java、Rust--Python 和 Rust--Ruby 四种语言组合上表明,知识蒸馏一致性地改善了紧凑模型的可靠性,尤其在分布迁移情境下提升了预测性能。此外,分类头变体在推断时间上显著优于基于生成的推断。总体而言,我们的结果表明,结合响应稳定的面向推理蒸馏使紧凑开源模型在 X-CCD 检测方面更加实用可靠。

关键词

引用

@article{arxiv.2605.02860,
  title  = {Standing on the Shoulders of Giants: Stabilized Knowledge Distillation for Cross--Language Code Clone Detection},
  author = {Mohamad Khajezade and Fatemeh H. Fard and Mohamed Sami Shehata},
  journal= {arXiv preprint arXiv:2605.02860},
  year   = {2026}
}

备注

38 pages