English

CodeJudge: Evaluating Code Generation with Large Language Models

Machine Learning 2024-10-04 v1 Computation and Language Software Engineering

Abstract

Large Language Models (LLMs) have shown promising performance in code generation. However, how to reliably evaluate code generated by LLMs remains an unresolved problem. This paper presents CodeJudge, a code evaluation framework that leverages LLMs to evaluate the semantic correctness of generated code without the need for test cases. We investigate different ways to guide the LLM in performing "slow thinking" to arrive at an in-depth and reliable evaluation. We experimented with four LLMs as evaluators on four code generation datasets and five programming languages. The results show that CodeJudge significantly outperformed existing methods in most settings. Furthermore, compared with a SOTA GPT-3.5-based code evaluation method, CodeJudge achieved better results even when using a much smaller model, Llama-3-8B-Instruct. Our code and datasets are available on GitHub https://github.com/VichyTong/CodeJudge.

Keywords

Cite

@article{arxiv.2410.02184,
  title  = {CodeJudge: Evaluating Code Generation with Large Language Models},
  author = {Weixi Tong and Tianyi Zhang},
  journal= {arXiv preprint arXiv:2410.02184},
  year   = {2024}
}

Comments

Accepted to EMNLP 2024 (Main, Long Paper)