无需微调的零样本跨域代码搜索
软件工程
2025-04-11 v1 计算与语言
摘要
代码搜索旨在检索与自然语言查询语义相关的代码片段。尽管预训练语言模型(PLMs)在该任务中显示出卓越的性能,但在跨域场景中仍面临挑战,往往需要高昂的微调成本,或在零样本设置下面临性能下降。目前唯一有效的零样本跨域代码搜索方法是生成合成数据用于模型微调的 RAPID。尽管其有效性已知,但 RAPID 需要大量计算资源进行微调,并需要为每个领域维护专门的模型,凸显了跨域代码搜索需要一种无需微调的零样本方法的需求。针对零样本跨域代码搜索的关键在于弥合各领域之间的差距。本文提出将代码搜索中的查询-代码匹配过程分解为两个更简单的数据库任务:查询-注释匹配和代码-代码匹配。我们的实证研究表明,在零样本跨域设置下,查询-代码、查询-注释和代码-代码匹配三种匹配模式之间存在强大的互补性。基于此,我们提出 CodeBridge,一种针对跨域代码搜索的零样本、无需微调的方法。具体而言,CodeBridge 使用大型语言模型(LLMs)生成注释和伪代码,然后通过基于 PLM 的相似度评分和基于采样的融合,将查询-代码、查询-注释和代码-代码匹配组合起来。实验结果表明,我们的方法在三个数据集上相较于最先进的基于 PLM 的代码搜索方法(CoCoSoDa 和 UniXcoder)在 MRR 上分别提升了 21.4% 和 24.9%。我们的 approach 也产生了优于或相当于需要高昂微调的零样本跨域代码搜索方法 RAPID 的结果。
引用
@article{arxiv.2504.07740,
title = {Zero-Shot Cross-Domain Code Search without Fine-Tuning},
author = {Keyu Liang and Zhongxin Liu and Chao Liu and Zhiyuan Wan and David Lo and Xiaohu Yang},
journal= {arXiv preprint arXiv:2504.07740},
year = {2025}
}