要約
GitHub Copilot や ChatGPT などの大規模言語モデル (LLM) は、コード生成のための強力なツールとして登場し、生産性を大幅に向上させ、ソフトウェア開発を加速します。
ただし、既存のベンチマークは主に一般的なコード生成に焦点を当てており、API 指向のコード生成、つまり特定のライブラリから API を呼び出すコードの生成は考慮されていません。
API 指向のコード生成に対する需要が高まっていることを考慮すると、API 指向のコード生成に関する LLM を評価する体系的かつ自動化されたアプローチが緊急に必要とされています。
このギャップに対処するために、API 指向のコード生成における LLM の機能を評価するように設計された軽量で自動化されたフレームワークである AutoAPIEval を提案します。
私たちのフレームワークは、API ドキュメントを提供するライブラリと連携し、API 推奨事項とコード サンプルの生成という 2 つの単位タスクに焦点を当てます。また、生成された API とコード サンプルを評価するための 4 つの指標 (タスク 1 の誤った API 推奨事項の割合など) に焦点を当てています。
特定の API が呼び出されないコード サンプルと、タスク 2 のコンパイル不可/実行不可能なコード サンプルの割合。さらに、3 つの LLM (ChatGPT、MagiCoder、および DeepSeek Coder) と Java ランタイム環境 8 のケース スタディを実施して、フレームワークのデモンストレーションを行いました。
効果。
私たちの調査結果では、ChatGPT が指示をよりよく遵守しながら、コード サンプル生成においては対応するもの (つまり、MagiCoder と DeekSeek Coder) と同様の有効性を共有しており、タスク間で LLM パフォーマンスに大きなばらつきがあることが明らかになりました。
また、API の人気やモデルの信頼度など、コードの品質に関連する重要な要素を特定し、誤った API 推奨事項や誤ったコード サンプルを高精度で検出する分類器を構築します。
検索拡張生成により、LLM によって生成されるコードの品質が向上しますが、その有効性は LLM によって異なります。
要約(オリジナル)
Large language models (LLMs) like GitHub Copilot and ChatGPT have emerged as powerful tools for code generation, significantly enhancing productivity and accelerating software development. However, existing benchmarks primarily focus on general code generation without considering API-oriented code generation, i.e., generating code that invokes APIs from specific libraries. Given the growing demand for API-oriented code generation, there is a pressing need for a systematic and automated approach to evaluate LLM on API-oriented code generation. To address this gap, we propose AutoAPIEval, a lightweight and automated framework designed to evaluate the capabilities of LLMs in API-oriented code generation. Our framework works with any library that provides API documentation and focuses on two unit tasks: API recommendation and code example generation, along with four metrics to evaluate the generated APIs and code examples, such as the proportion of incorrect API recommendations for Task 1, and the proportion of code examples where no specific API is invoked and uncompilable/unexecutable code examples for Task 2. In addition, we conducted a case study on three LLMs (ChatGPT, MagiCoder, and DeepSeek Coder) and Java Runtime Environment 8 to demonstrate the framework’s effectiveness. Our findings reveal substantial variability in LLM performance across tasks, with ChatGPT adhering better to instructions, while sharing similar effectiveness in code example generation with its counterparts (i.e., MagiCoder and DeekSeek Coder). We also identify key factors associated with code quality, such as API popularity and model confidence, and build classifiers that achieve high accuracy in detecting incorrect API recommendations and erroneous code examples. Retrieval-augmented generation enhances the quality of code generated by LLMs, though its effectiveness varies across different LLMs.
arxiv情報
著者 | Yixi Wu,Pengfei He,Zehao Wang,Shaowei Wang,Yuan Tian,Tse-Hsun,Chen |
発行日 | 2024-09-24 17:13:43+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google