要約
最近では、コード LLM を利用した AI 主導のプログラミング アシスタントが増加しており、現実のさまざまなソフトウェア開発環境に統合されており、開発者の生産性が大幅に向上しています。
ただし、既存のコード生成ベンチマークは主に汎用シナリオに焦点を当てており、特定のアプリケーション ドメインに対する LLM のコード生成パフォーマンスはほとんど不明のままです。
このペーパーでは、このギャップを埋めるための新しいベンチマークである MultiCodeBench を紹介します。
MultiCodeBench は 2,400 のプログラミング タスクで構成され、12 の一般的なソフトウェア開発ドメインと 15 のプログラミング言語をカバーします。
具体的には、これら 12 のアプリケーション ドメインを特定するために詳細な調査を実行します。
各ドメインには複数の技術フレームワークが含まれる可能性があり、フレームワークが異なればコーディング プロセスで異なる課題が生じることを考慮して、各ドメイン内で一般的に使用されるフレームワークとプラットフォームを分類します。
次に、これらのサブドメインに関連する GitHub リポジトリからプログラミングの問題をサンプリングします。
タスクの品質を確保し、データ漏洩の問題を軽減するために、アノテーターに MultiCodeBench の各タスクの docstring を書き直すよう勧めます。
さらに、静的分析ベースの依存関係解析ツールを構築して、各タスクのグラウンド トゥルースの依存関係を抽出し、より詳細なパフォーマンス分析を可能にします。
11 の代表的な主流 LLM を使用した MultiCodeBench での広範な実験を通じて、さまざまなアプリケーション ドメインにわたる LLM のコード生成パフォーマンスを明らかにし、下流分野の開発者が LLM を選択する際の実用的な洞察を提供します。
さらに、モデルがソフトウェア アプリケーション開発タスクを完了できない原因を分析し、モデル開発者にドメイン固有のコード生成機能を強化するためのガイダンスを提供します。
要約(オリジナル)
Recently, an increasing number of AI-driven programming assistants powered by code LLMs have been integrated into various real-world software development environments, significantly boosting developer productivity. However, existing code generation benchmarks primarily focus on general-purpose scenarios, leaving the code generation performance of LLMs for specific application domains largely unknown. In this paper, we introduce a new benchmark, MultiCodeBench, to fill this gap. MultiCodeBench comprises 2,400 programming tasks, covering 12 popular software development domains and 15 programming languages. Specifically, we perform in-depth research to identify these 12 application domains. Given that each domain may involve multiple technical frameworks, and that different frameworks present distinct challenges in the coding process, we categorize the commonly used frameworks and platforms within each domain. We then sample programming problems from GitHub repositories related to these subdomains. To ensure the quality of the tasks and mitigate data leakage issues, we invite annotators to rewrite the docstrings for each task in MultiCodeBench. Additionally, we build a static analysis-based dependency parsing tool to extract the dependencies in the ground truth for each task, enabling deeper performance analysis. Through extensive experiments on MultiCodeBench with eleven representative mainstream LLMs, we reveal the code generation performance of the LLMs across different application domains, providing practical insights for developers in downstream fields when selecting LLMs. Furthermore, we analyze the reasons behind the models’ failures in completing software application development tasks, offering guidance for model developers to enhance domain-specific code generation capabilities.
arxiv情報
著者 | Dewu Zheng,Yanlin Wang,Ensheng Shi,Hongyu Zhang,Zibin Zheng |
発行日 | 2024-12-24 17:56:08+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google