ProjectTest: A Project-level LLM Unit Test Generation Benchmark and Impact of Error Fixing Mechanisms

要約

ユニットテストの生成は、LLMSの有望で重要なユースケースになっています。
ただし、LLMユニットテスト生成機能を評価するための既存の評価ベンチマークは、より実用的で挑戦的なプロジェクトレベルのコードベースではなく、機能またはクラスレベルのコードに焦点を当てています。
このような制限に対処するために、Python、Java、およびJavaScriptをカバーするユニットテスト生成のプロジェクトレベルのベンチマークであるProjectTestを提案します。
ProjectTestは、言語ごとに20の中程度のサイズの高品質のプロジェクトを備えています。
ProjectTestで9つのフロンティアLLMを評価し、結果は、PicthonとJavaのProjecttestで中程度のパフォーマンスを示し、ProjectTestの難易度を強調していることを示しています。
また、徹底的なエラー分析も実施します。これは、Claude-3.5-SonnetなどのフロンティアLLMでさえ、コンピレーションやカスケードエラーを含む重要な簡単なエラーがあることを示しています。
この観察に動機付けられて、エラー固定メカニズムを装備した場合の可能性を評価するために、手動のエラー固定シナリオと自己誤差固定シナリオの下ですべてのフロンティアLLMをさらに評価します。

要約(オリジナル)

Unit test generation has become a promising and important use case of LLMs. However, existing evaluation benchmarks for assessing LLM unit test generation capabilities focus on function- or class-level code rather than more practical and challenging project-level codebases. To address such limitation, we propose ProjectTest, a project-level benchmark for unit test generation covering Python, Java, and JavaScript. ProjectTest features 20 moderate-sized and high-quality projects per language. We evaluate nine frontier LLMs on ProjectTest and the results show that all frontier LLMs tested exhibit moderate performance on ProjectTest on Python and Java, highlighting the difficulty of ProjectTest. We also conduct a thorough error analysis, which shows that even frontier LLMs, such as Claude-3.5-Sonnet, have significant simple errors, including compilation and cascade errors. Motivated by this observation, we further evaluate all frontier LLMs under manual error-fixing and self-error-fixing scenarios to assess their potential when equipped with error-fixing mechanisms.

arxiv情報

著者 Yibo Wang,Congying Xia,Wenting Zhao,Jiangshu Du,Chunyu Miao,Zhongfen Deng,Philip S. Yu,Chen Xing
発行日 2025-02-11 15:48:42+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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