Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

Natural Language to Code Translation with Execution

About

Generative models of code, pretrained on large corpora of programs, have shown great success in translating natural language to code (Chen et al., 2021; Austin et al., 2021; Li et al., 2022, inter alia). While these models do not explicitly incorporate program semantics (i.e., execution results) during training, they are able to generate correct solutions for many problems. However, choosing a single correct program from a generated set for each problem remains challenging. In this work, we introduce execution result--based minimum Bayes risk decoding (MBR-EXEC) for program selection and show that it improves the few-shot performance of pretrained code models on natural-language-to-code tasks. We select output programs from a generated candidate set by marginalizing over program implementations that share the same semantics. Because exact equivalence is intractable, we execute each program on a small number of test inputs to approximate semantic equivalence. Across datasets, execution or simulated execution significantly outperforms the methods that do not involve program semantics. We find that MBR-EXEC consistently improves over all execution-unaware selection methods, suggesting it as an effective approach for natural language to code translation. We open-source our code at github.com/facebookresearch/mbr-exec and data at dl.fbaipublicfiles.com/mbr-exec/mbr-exec-release.zip

Freda Shi, Daniel Fried, Marjan Ghazvininejad, Luke Zettlemoyer, Sida I. Wang• 2022

Related benchmarks

TaskDatasetResultRank
Code GenerationHumanEval (test)
Pass@172.96
444
Code GenerationMBPP (test)
Pass@170.79
276
Text-to-SQLSpider (dev)
EX (All)63.6
100
Code GenerationHumanEval+ (test)
Pass@162.12
81
Code GenerationCodeContests (test)
Pass@18.25
42
Code VerificationHumanEval+
Pass@185.31
32
Code VerificationLiveCodeBench
Pass@134.79
32
Code VerificationMBPP+
Pass@172.12
32
Competitive CodingUSACO
Best@879.9
16
Competitive CodingOJBench
Best@8 Score40.5
16
Showing 10 of 14 rows

Other info

Follow for update