中文

CodeBLEU:一种代码合成自动评估方法

软件工程 2020-09-29 v2 计算与语言

摘要

评估指标在一个领域的发展中起着至关重要的作用,因为它定义了区分优劣模型的标准。在代码合成领域,常用的评估指标是 BLEU 或完全准确率,但它们并不足以评估代码,因为 BLEU 原本是为评估自然语言而设计的,忽略了代码重要的语法和语义特征,而完全准确率过于严格,因而低估了具有相同语义逻辑的不同输出。为弥补这一不足,我们引入了一种新的自动评估指标,称为 CodeBLEU。它吸收了 BLEU 在 n-gram 匹配上的优势,并通过抽象语法树(AST)注入代码语法,通过数据流注入代码语义。我们在三个代码合成任务(即文本到代码、代码翻译和代码精化)上,通过评估 CodeBLEU 与程序员所给质量评分之间的相关系数来进行实验。实验结果表明,与 BLEU 和准确率相比,我们提出的 CodeBLEU 能与程序员所给评分取得更好的相关性。

关键词

引用

@article{arxiv.2009.10297,
  title  = {CodeBLEU: a Method for Automatic Evaluation of Code Synthesis},
  author = {Shuo Ren and Daya Guo and Shuai Lu and Long Zhou and Shujie Liu and Duyu Tang and Neel Sundaresan and Ming Zhou and Ambrosio Blanco and Shuai Ma},
  journal= {arXiv preprint arXiv:2009.10297},
  year   = {2020}
}

备注

8 pages, 6 figures