利用强化学习丰富代码搜索的查询语义
软件工程
2021-05-21 v1
摘要
代码搜索是开发人员在软件实现过程中的常见实践。准确代码搜索的挑战主要在于源代码与自然语言(即查询)之间的知识鸿沟。由于可用的代码-查询对有限而代码-描述对大量存在,基于深度学习的已有研究侧重于学习源代码与相应描述文本之间的语义匹配关系,并假设描述与用户查询之间的语义鸿沟可忽略。本工作中,我们发现基于代码-描述对训练的代码搜索模型在用户查询上表现不佳,这表明查询与代码描述之间存在语义距离。为缩减该语义距离以实现更有效的代码搜索,我们提出 QueCos,一种查询丰富的代码搜索模型。QueCos 学习生成语义丰富查询,以利用强化学习(RL)捕获给定查询的关键语义。借助 RL,代码搜索性能被视为生成准确语义丰富查询的奖励。丰富后的查询最终用于代码搜索。在基准数据集上的实验表明,QueCos 能显著优于最先进的代码搜索模型。
引用
@article{arxiv.2105.09630,
title = {Enriching Query Semantics for Code Search with Reinforcement Learning},
author = {Chaozheng Wang and Zhenghao Nong and Cuiyun Gao and Zongjie Li and Jichuan Zeng and Zhenchang Xing and Yang Liu},
journal= {arXiv preprint arXiv:2105.09630},
year = {2021}
}
备注
10 pages, 4 figures