论文

Java 代码克隆检测深度学习的零样本评估

Zero-shot Evaluation of Deep Learning for Java Code Clone Detection

模型评测鲁棒性、公平性与可信度评测

摘要

深度学习 (DL) 在克隆检测中变得越来越广泛,其动力是为这项任务实现近乎完美的性能。特别是在语义代码克隆的情况下,它们仅共享有限的语法但实现相同或相似的功能,深度学习似乎优于传统工具。在本文中,我们想要研究基于 DL 的 Java 克隆检测器的通用性。因此,我们在零样本评估场景中复制并评估了五种最先进的基于深度学习的克隆检测器的性能,包括 CodeBERT 等 Transformer 和 FA-AST+GMN 等单任务模型,我们在零样本评估场景中对不同的数据集和功能进行训练/微调和评估。我们的实验表明,模型对未见过的代码的泛化能力是有限的。进一步的分析表明,在这种零样本评估场景中,传统的克隆检测器 NiCad 甚至优于基于深度学习的克隆检测器。