[論文レビュー] A Survey on Large Language Models for Software Engineering
ソフトウェア工学における大型言語モデル(LLMs)の最新技術動向を系統的に整理した総説で、62のコードLLM、15の事前学習目的、16の下流のSEタスク、5つのワークフロー段階にまたがる947件のSE研究を詳述し、公開の継続的リポジトリを提供する。
Software Engineering (SE) is the systematic design, development, maintenance, and management of software applications underpinning the digital infrastructure of our modern world. Very recently, the SE community has seen a rapidly increasing number of techniques employing Large Language Models (LLMs) to automate a broad range of SE tasks. Nevertheless, existing information of the applications, effects, and possible limitations of LLMs within SE is still not well-studied. In this paper, we provide a systematic survey to summarize the current state-of-the-art research in the LLM-based SE community. We summarize 62 representative LLMs of Code across three model architectures, 15 pre-training objectives across four categories, and 16 downstream tasks across five categories. We then present a detailed summarization of the recent SE studies for which LLMs are commonly utilized, including 947 studies for 112 specific code-related tasks across five crucial phases within the SE workflow. We also discuss several critical aspects during the integration of LLMs into SE, such as empirical evaluation, benchmarking, security and reliability, domain tuning, compressing and distillation. Finally, we highlight several challenges and potential opportunities on applying LLMs for future SE studies, such as exploring domain LLMs and constructing clean evaluation datasets. Overall, our work can help researchers gain a comprehensive understanding about the achievements of the existing LLM-based SE studies and promote the practical application of these techniques. Our artifacts are publicly available and will be continuously updated at the living repository: https://github.com/iSEngLab/AwesomeLLM4SE.
研究の動機と目的
- LLMベースのソフトウェア工学(LLM4SE)における現状の最先端を要約する。
- アーキテクチャ、事前学習目的、下流タスク別に代表的なコードLLMを整理する。
- LLMsが支援するSEライフサイクル全体のSEタスクと段階を把握する。
- 統合、評価、ベンチマーキング、セキュリティ、ドメイン調整の課題について議論する。
- LLMベースのSE研究のオープンサイエンスアーティファクトと将来の方向性を提供する。
提案手法
- SEおよびLLM関連のキーワードを用いてGoogle Scholar、ACM Digital Library、IEEE Xploreを横断的に自動検索。
- 自動結果を補完するスノーボール法と手動スクリーニング。
- 論文をコードLLM、LLMsを活用したSE研究、統合の側面に分類。
- 関連論文1009件の定量的統合(コード-LLM論文59件とLLMベースSE論文912件)と定性的統合。
- アーティファクトと進捗追跡の公開継続リポジトリ:AwesomeLLM4SE。
実験結果
リサーチクエスチョン
- RQ1RQ1(LLMの視点):SEをサポートするために公開されているLLMは何か、その事前学習タスク、下流タスク、オープンサイエンスの状況はどうか?
- RQ2RQ2(SEの視点):要求・設計、開発、テスト、保守、マネジメントの各段階でLLMsによって支援されるSEタスクは何か?
- RQ3RQ3(統合の視点):SEへの統合時に評価、ベンチマーキング、セキュリティ/信頼性、ドメインチューニング、圧縮/蒸留の主要な要因は何か。
主な発見
- 本調査は、エンコーダー専用、エンコーダ-デコーダ、デコーダー専用アーキテクチャにまたがる62の代表的なコードLLMを分析する。
- 15の事前学習目的を4つのグループ(コードシーケンスモデリング、双方向コード-NLP理解、コード構造、クロスモーダル学習)に分類して特定。
- 5つのSEフェーズにまたがる16の下流タスクがあり、SEにおけるLLMsの幅広い適用性を示している。
- 合計947件のSE研究が5つのSEフェーズにわたって112のコード関連タスクを対象としており、分野の急速な成長を示している。
- 文献コレクションは2020–2024年の1009件の関連論文を含み、主要な掲載誌にはICSE、FSE、ACL、ASE、ISSTAなどがある。
- 著者らは進捗を追跡しオープンサイエンスを支援する公開のlivingリポジトリ(AwesomeLLM4SE)を提供する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。