中文

基于元学习的跨领域深度代码搜索

软件工程 2024-03-13 v6

摘要

近来,CodeBERT等预训练编程语言模型在代码搜索中展现出显著收益。尽管性能优异,它们依赖于大量平行数据的可用性以微调查询与代码间的语义映射。这限制了其在数据相对稀缺且昂贵的领域特定语言中的实用性。本文提出CroCS,一种用于领域特定代码搜索的新方法。CroCS采用迁移学习框架,其中初始程序表示模型在大型通用编程语言语料(如Java与Python)上预训练,并进一步适配至SQL与Solidity等领域特定语言。与直接在目标语言中微调的跨语言CodeBERT不同,CroCS适配一种名为MAML的少样本元学习算法以学习模型参数的良好初始化,从而可在领域特定语言中最佳复用。我们在两种领域特定语言(即SQL与Solidity)上评估所提方法,模型从两种广泛使用语言(Python与Java)迁移而来。实验结果表明,CDCS显著优于直接在领域特定语言中微调的传统预训练代码模型,且对稀缺数据尤为有效。

关键词

引用

@article{arxiv.2201.00150,
  title  = {Cross-Domain Deep Code Search with Meta Learning},
  author = {Yitian Chai and Hongyu Zhang and Beijun Shen and Xiaodong Gu},
  journal= {arXiv preprint arXiv:2201.00150},
  year   = {2024}
}

备注

Accepted by ICSE 2022 (The 44th International Conference on Software Engineering)