Execution-Based Evaluation for Open-Domain Code Generation
This provides a new benchmark for the code generation community to evaluate models in more realistic, open-domain settings, though it is incremental as it builds on existing datasets and models.
The authors tackled the lack of realistic open-domain datasets for natural language to Python code generation by introducing ODEX, a dataset with 945 NL-Code pairs from 79 libraries and 1,707 test cases, harvested from StackOverflow and supporting four languages. They found that while CODEX performs better overall, CODEGEN improves with scaling, with CODEGEN 6.1B matching CODEX 12B, and both models show gaps between open and closed domains that vary with model size.
To extend the scope of coding queries to more realistic settings, we propose ODEX, the first Open-Domain EXecution-based natural language (NL) to Python code generation dataset. ODEX has 945 NL-Code pairs spanning 79 diverse libraries, along with 1,707 human-written test cases for execution. Our NL-Code pairs are harvested from StackOverflow forums to encourage natural and practical coding queries. Moreover, ODEX supports four natural languages as intents, in English, Spanish, Japanese, and Russian. ODEX unveils intriguing behavioral differences among top-performing code language models (LM). While CODEX achieves better overall results, CODEGEN improves effectively via scaling -- CODEGEN 6.1B performs comparably with CODEX 12B. Both models show substantial gaps between open and closed domains, but CODEGEN gaps tend to decrease with model size while CODEX gaps increase. We release ODEX to facilitate research into open-domain problems for the code generation community.