CodeS: Natural Language to Code Repository via Multi-Layer Sketch

要約

コード関連タスクにおける大規模言語モデル (LLM) の優れたパフォーマンスは、完全に自動化されたソフトウェア開発の可能性を示しています。
これを考慮して、新しいソフトウェア エンジニアリング タスク、つまり Natural Language to code Repository (NL2Repo) を導入します。
このタスクの目的は、自然言語要件からコード リポジトリ全体を生成することです。
このタスクに対処するために、NL2Repo を多層スケッチによって複数のサブタスクに分解する、シンプルかつ効果的なフレームワーク CodeS を提案します。
具体的には、CodeS には、RepoSketcher、FileSketcher、SketchFiller の 3 つのモジュールが含まれています。
RepoSketcher は、まず、指定された要件に応じてリポジトリのディレクトリ構造を生成します。
次に、FileSketcher は、生成された構造内のファイルごとにファイル スケッチを生成します。
SketchFiller は最終的に、生成されたファイル スケッチに各関数の詳細を入力します。
NL2Repo タスクの CodeS を厳密に評価するために、自動ベンチマークと手動フィードバック分析の両方を通じて評価を実行します。
ベンチマークベースの評価では、リポジトリ指向のベンチマークである SketchEval を作成し、評価指標である SketchBLEU を設計します。
フィードバックベースの評価のために、CodeS 用の VSCode プラグインを開発し、30 人の参加者を参加させて実証研究を実施します。
広範な実験により、NL2Repo タスクにおける CodeS の有効性と実用性が証明されました。

要約(オリジナル)

The impressive performance of large language models (LLMs) on code-related tasks has shown the potential of fully automated software development. In light of this, we introduce a new software engineering task, namely Natural Language to code Repository (NL2Repo). This task aims to generate an entire code repository from its natural language requirements. To address this task, we propose a simple yet effective framework CodeS, which decomposes NL2Repo into multiple sub-tasks by a multi-layer sketch. Specifically, CodeS includes three modules: RepoSketcher, FileSketcher, and SketchFiller. RepoSketcher first generates a repository’s directory structure for given requirements; FileSketcher then generates a file sketch for each file in the generated structure; SketchFiller finally fills in the details for each function in the generated file sketch. To rigorously assess CodeS on the NL2Repo task, we carry out evaluations through both automated benchmarking and manual feedback analysis. For benchmark-based evaluation, we craft a repository-oriented benchmark, SketchEval, and design an evaluation metric, SketchBLEU. For feedback-based evaluation, we develop a VSCode plugin for CodeS and engage 30 participants in conducting empirical studies. Extensive experiments prove the effectiveness and practicality of CodeS on the NL2Repo task.

arxiv情報

著者 Daoguang Zan,Ailun Yu,Wei Liu,Dong Chen,Bo Shen,Wei Li,Yafen Yao,Yongshun Gong,Xiaolin Chen,Bei Guan,Zhiguang Yang,Yongji Wang,Qianxiang Wang,Lizhen Cui
発行日 2024-03-25 06:09:55+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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