代码到注释的“翻译”:数据、度量、基线与评估
软件工程
2020-10-06 v1 计算与语言
摘要
注释与代码之间的关系,尤其是给定代码生成有用注释的任务,长期以来备受关注。最早的方法基于强语法化的注释结构理论,并依赖文本模板。近来,研究者将深度学习方法应用于该任务,特别是可训练的生成式翻译模型,此类模型在自然语言翻译(如德语到英语)中表现优异。我们仔细审视了此处的基本假设:生成注释的任务足够类似于自然语言间的翻译,因此可使用相似模型与评估度量。我们分析了该任务的若干近期代码-注释数据集:CodeNN、DeepCom、FunCom和DocString。并将其与WMT19(常用于训练SOTA自然语言翻译器的标准数据集)进行比较。我们发现代码-注释数据与WMT19自然语言数据间存在一些有趣差异。接下来,我们描述并开展了一些研究,利用来自不同项目、同项目内、同类内等的“亲和对”方法校准BLEU(常用作注释质量的度量)。我们的研究表明,某些数据集上的当前性能可能仍需大幅改进。我们还论证,相当朴素的信息检索(IR)方法在此任务上表现已足够好,可视为合理基线。最后,我们就未来该领域研究如何利用我们的发现提出建议。
引用
@article{arxiv.2010.01410,
title = {Code to Comment "Translation": Data, Metrics, Baselining & Evaluation},
author = {David Gros and Hariharan Sezhiyan and Prem Devanbu and Zhou Yu},
journal= {arXiv preprint arXiv:2010.01410},
year = {2020}
}