DynaCode: A Dynamic Complexity-Aware Code Benchmark for Evaluating Large Language Models in Code Generation

要約

大規模な言語モデル(LLMS)の急速な進歩により、コード生成タスクでのパフォーマンスが大幅に向上しました。
ただし、既存のコードベンチマークは静的なままであり、事前に定義された問題を抱える固定データセットで構成されています。
これにより、トレーニング中の記憶に対して脆弱になります。これにより、LLMは新しい問題に一般化する代わりに特定のテストケースを思い出し、データの汚染と信頼できない評価結果につながります。
これらの問題に対処するために、静的データセットの制限を克服する動的で複雑なベンチマークであるDynacodeを導入します。
Dynacodeは、コードの複雑さとコールグラフ構造の両方を組み込んだ複雑さ対応メトリックを使用してLLMSを体系的に評価します。
Dynacodeは大規模な多様性を達成し、ユニットと呼ばれる4つの異なるレベルのコード複雑さと16種類のコールグラフにわたって最大1億8900万個の一意のネストされたコードの問題を生成します。
12の最新のLLMの結果は、静的コード生成ベンチマークであるMBPP+と比較して、平均パフォーマンス低下が16.8%〜45.7%であり、複雑さが増加するにつれてパフォーマンスが徐々に減少します。
これは、LLMを効果的に区別するDynacodeの能力を示しています。
さらに、コールグラフを活用することにより、LLMの動作、特にネストされたコード内のサブ機能相互作用を処理することに対する好みに関する洞察が得られます。

要約(オリジナル)

The rapid advancement of large language models (LLMs) has significantly improved their performance in code generation tasks. However, existing code benchmarks remain static, consisting of fixed datasets with predefined problems. This makes them vulnerable to memorization during training, where LLMs recall specific test cases instead of generalizing to new problems, leading to data contamination and unreliable evaluation results. To address these issues, we introduce DynaCode, a dynamic, complexity-aware benchmark that overcomes the limitations of static datasets. DynaCode evaluates LLMs systematically using a complexity-aware metric, incorporating both code complexity and call-graph structures. DynaCode achieves large-scale diversity, generating up to 189 million unique nested code problems across four distinct levels of code complexity, referred to as units, and 16 types of call graphs. Results on 12 latest LLMs show an average performance drop of 16.8% to 45.7% compared to MBPP+, a static code generation benchmark, with performance progressively decreasing as complexity increases. This demonstrates DynaCode’s ability to effectively differentiate LLMs. Additionally, by leveraging call graphs, we gain insights into LLM behavior, particularly their preference for handling subfunction interactions within nested code.

arxiv情報

著者 Wenhao Hu,Jinhao Duan,Chunchen Wei,Li Zhang,Yue Zhang,Kaidi Xu
発行日 2025-03-13 15:18:56+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CL パーマリンク