评估与优化神经机器翻译在支撑代码检索模型中的有效性:基于CAT基准的研究
摘要
神经机器翻译(NMT)被广泛应用于软件工程任务中。NMT用于代码检索的有效性依赖于从源语言词元序列到目标语言词元序列的学习能力。尽管NMT在伪代码到代码的翻译中表现良好,但在新近构建的真实世界代码文档/实现数据集中,学习从自然语言查询到源代码的翻译可能面临挑战。在本工作中,我们分析了NMT在新近构建的CAT基准中自然语言到代码翻译的性能,该基准包含三个Java数据集TLCodeSum、CodeSearchNet、Funcom的优化版本以及一个Python数据集PCSD。我们的评估表明,在此任务中,以CrystalBLEU和Meteor指标衡量,NMT准确率较低。为减轻NMT学习源代码复杂表示的负担,我们提出ASTTrans Representation,一种利用非终结符节点子集的抽象语法树(AST)定制表示。我们表明,经典方法NMT在学习ASTTrans Representation上较代码词元表现显著更好,Meteor分数提升高达36%。此外,我们利用ASTTrans Representation,结合基于GraphCodeBERT和UniXcoder的最先进代码搜索过程进行组合代码搜索。我们学习ASTTrans Representation的NMT模型可将这些最先进代码搜索过程的平均倒数排名(Mean Reciprocal Rank)提升高达3.08%,并在CAT基准上改善23.08%的查询结果。
引用
@article{arxiv.2308.04693,
title = {Evaluating and Optimizing the Effectiveness of Neural Machine Translation in Supporting Code Retrieval Models: A Study on the CAT Benchmark},
author = {Hung Phan and Ali Jannesari},
journal= {arXiv preprint arXiv:2308.04693},
year = {2023}
}
备注
Accepted as Full Paper in Proceedings of the 32nd ACM International Conference on Information and Knowledge Management (CIKM), Birmingham, UK, October 2023