SECLSep 22, 2020

CodeBLEU: a Method for Automatic Evaluation of Code Synthesis

arXiv:2009.10297v2843 citations
Originality Incremental advance
AI Analysis

This addresses the need for better evaluation metrics in code synthesis, which is crucial for researchers and developers in AI and software engineering, though it is incremental as it builds upon existing BLEU methods.

The authors tackled the problem of evaluating code synthesis models by introducing CodeBLEU, a new automatic metric that incorporates syntactic and semantic features of code, achieving a better correlation with programmer-assigned scores than BLEU and accuracy on tasks like text-to-code and code translation.

Evaluation metrics play a vital role in the growth of an area as it defines the standard of distinguishing between good and bad models. In the area of code synthesis, the commonly used evaluation metric is BLEU or perfect accuracy, but they are not suitable enough to evaluate codes, because BLEU is originally designed to evaluate the natural language, neglecting important syntactic and semantic features of codes, and perfect accuracy is too strict thus it underestimates different outputs with the same semantic logic. To remedy this, we introduce a new automatic evaluation metric, dubbed CodeBLEU. It absorbs the strength of BLEU in the n-gram match and further injects code syntax via abstract syntax trees (AST) and code semantics via data-flow. We conduct experiments by evaluating the correlation coefficient between CodeBLEU and quality scores assigned by the programmers on three code synthesis tasks, i.e., text-to-code, code translation, and code refinement. Experimental results show that our proposed CodeBLEU can achieve a better correlation with programmer assigned scores compared with BLEU and accuracy.

Code Implementations3 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes