PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
August 23, 20240 citationsOpen Access

CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution

View Full Paper
RXRuiyang XuJCJialun CaoYLYaojie Lu

Key Points

  • Cross-language generalization is evident, with models showing varying performance across languages like Java and C/C++.
  • An intensive evaluation of 24 representative large language models highlights distinct correlations between language pairs.
  • Automated generation creates a comprehensive dataset, featuring 19,000 content-consistent tests that include 600 subjects per language. Continuously refined methods use execution feedback for accuracy improvement, enhancing the benchmarks.

Abstract

Code benchmarks such as HumanEval are widely adopted to evaluate Large Language Models' (LLMs) coding capabilities. However, there is an unignorable programming language bias in existing code benchmarks -- over 95% code generation benchmarks are dominated by Python, leaving the LLMs' capabilities in other programming languages such as Java and C/C++ unknown. Moreover, coding task bias is also crucial. Most benchmarks focus on code generation capability, while benchmarks for code reasoning (given input, reasoning output; and given output, reasoning input), an essential coding capability, are insufficient. Yet, constructing multi-lingual benchmarks can be expensive and labor-intensive, and codes in contest websites such as Leetcode suffer from data contamination during training. To fill this gap, we propose CRUXEVAL-X, a multi-lingual code reasoning benchmark that contains 19 programming languages. It comprises at least 600 subjects for each language, along with 19K content-consistent tests in total. In particular, the construction pipeline of CRUXEVAL-X works in a fully automated and test-guided manner, which iteratively generates and repairs based on execution feedback. Also, to cross language barriers (e.g., dynamic/static type systems in Python/C++), we formulated various transition rules between language pairs to facilitate translation. Our intensive evaluation of 24 representative LLMs reveals the correlation between language pairs. For example, TypeScript and JavaScript show a significant positive correlation, while Racket has less correlation with other languages. More interestingly, even a model trained solely on Python can achieve at most 34.4% Pass@1 in other languages, revealing the cross-language generalization of LLMs.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Xu et al. (2024) studied this question.

synapsesocial.com/papers/68e5b3c0b6db64358754d164https://doi.org/10.48550/arxiv.2408.13001
Ask AI
Helpful
Bookmark
Share
View Full Paper