中文

基于跨语言中间表示的神经符号零样本代码克隆

人工智能 2023-04-27 v1 软件工程

摘要

本文定义了一种神经符号方法,以解决在无训练数据情况下为遗留编程语言 COBOL 的代码寻找语义相似克隆体的任务。我们定义了一个元模型,其实例化后具有跨 C 与 COBOL 代码通用的抽象语法树(AST)形式的中间表示(IR)。我们使用基于结构的遍历(SBT)将 IR 线性化以创建序列输入。我们进一步在 CodeNet 数据集中可用的 C 代码对的 SBT IR 上,微调零样本跨编程语言代码搜索中性能最佳的模型 UnixCoder,用于代码克隆任务。这使我们能为 C 代码的 IR 学习潜在表示,并可迁移至 COBOL 代码的 IR。借助该微调的 UnixCoder,我们在从 CodeNet 数据集合成的 COBOL 测试集上,零样本设定下相较预训练 UniXCoder 模型获得了 12.85 MAP@2 的性能提升。这证明了我们基于元模型的方法在促进跨编程语言迁移上的有效性。

关键词

引用

@article{arxiv.2304.13350,
  title  = {Neuro-symbolic Zero-Shot Code Cloning with Cross-Language Intermediate Representation},
  author = {Krishnam Hasija and Shrishti Pradhan and Manasi Patwardhan and Raveendra Kumar Medicherla and Lovekesh Vig and Ravindra Naik},
  journal= {arXiv preprint arXiv:2304.13350},
  year   = {2023}
}

备注

10 pages, 4 tables, 2 figures