Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

CodeBLEU: a Method for Automatic Evaluation of Code Synthesis

About

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.

Shuo Ren, Daya Guo, Shuai Lu, Long Zhou, Shujie Liu, Duyu Tang, Neel Sundaresan, Ming Zhou, Ambrosio Blanco, Shuai Ma• 2020

Related benchmarks

TaskDatasetResultRank
Code GenerationLiveCodeBench
Pass@184
76
Code GenerationHumanEval+
Pass Rate85.4
75
Code Correctness PredictionMultiPL-E Java
Brier Score0.231
60
Code Correctness PredictionMultiPL-E Java
ECE0.084
60
Code Correctness PredictionMultiPL-E Java
AUROC0.69
60
Predicting code correctnessLiveCodeBench Python
ECE0.082
60
Code Correctness PredictionLiveCodeBench Python
AUROC81.3
60
Code Correctness PredictionLiveCodeBench Python
Brier Score0.179
60
Showing 8 of 8 rows

Other info

Follow for update