SOEN-101: Code Generation by Emulating Software Process Models Using Large Language Model Agents

要約

ソフトウェア プロセス モデルは、複雑な開発タスクを解決するためにソフトウェア チーム間のコラボレーションとコミュニケーションを促進するために不可欠です。
これらのソフトウェア エンジニアリングの実践からインスピレーションを得て、複数の大規模言語モデル (LLM) エージェントに基づいてソフトウェア プロセス モデルをエミュレートするコード生成フレームワークである FlowGen を紹介します。
私たちは、日常の開発活動に対応する役割 (つまり、要件エンジニア、アーキテクト、開発者、テスター、スクラム マスター) を具体化する LLM エージェントを割り当て、コミュニケーション パターンを組織することで、FlowGenWaterfall、FlowGenTDD、および FlowGenScrum という 3 つのプロセス モデルをエミュレートします。
エージェントは、思考の連鎖を使用して協力して作業し、コードの品質を向上させるために継続的な自己調整を行いながら迅速な構成を行います。
基盤となる LLM として GPT3.5 を使用し、いくつかのベースライン (RawGPT、CodeT、Reflexion) を使用して、HumanEval、HumanEval-ET、MBPP、MBPP-ET の 4 つのベンチマークでコード生成を評価します。
私たちの調査結果は、FlowGenScrum が他のプロセス モデルと比較して優れており、HumanEval、HumanEval-ET、MBPP、MBPP-ET でそれぞれ 75.2、65.5、82.5、および 56.7 の Pass@1 を達成していることを示しています (RawGPT と比較して平均 15% の改善)
)。
他の最先端の技術と比較すると、FlowGenScrum は CodeT と比較して MBPP で高い Pass@1 を達成し、両方とも Reflexion を上回ります。
特に、CodeT を FlowGenScrum に統合すると、統計的に大幅な改善がもたらされ、最高の Pass@1 スコアを達成しました。
また、私たちの分析では、開発活動がコード臭と例外処理に異なる影響を与え、設計とコードのレビューにより例外処理が追加され、コード臭が軽減されたことも明らかになりました。
最後に、FlowGen モデルは GPT3.5 バージョンおよび温度値全体で安定した Pass@1 スコアを維持しており、LLM で生成されたコードの品質と安定性を向上させるソフトウェア プロセス モデルの有効性を強調しています。

要約(オリジナル)

Software process models are essential to facilitate collaboration and communication among software teams to solve complex development tasks. Inspired by these software engineering practices, we present FlowGen – a code generation framework that emulates software process models based on multiple Large Language Model (LLM) agents. We emulate three process models, FlowGenWaterfall, FlowGenTDD, and FlowGenScrum, by assigning LLM agents to embody roles (i.e., requirement engineer, architect, developer, tester, and scrum master) that correspond to everyday development activities and organize their communication patterns. The agents work collaboratively using chain-of-thought and prompt composition with continuous self-refinement to improve the code quality. We use GPT3.5 as our underlying LLM and several baselines (RawGPT, CodeT, Reflexion) to evaluate code generation on four benchmarks: HumanEval, HumanEval-ET, MBPP, and MBPP-ET. Our findings show that FlowGenScrum excels compared to other process models, achieving a Pass@1 of 75.2, 65.5, 82.5, and 56.7 in HumanEval, HumanEval-ET, MBPP, and MBPP-ET, respectively (an average of 15% improvement over RawGPT). Compared with other state-of-the-art techniques, FlowGenScrum achieves a higher Pass@1 in MBPP compared to CodeT, with both outperforming Reflexion. Notably, integrating CodeT into FlowGenScrum resulted in statistically significant improvements, achieving the highest Pass@1 scores. Our analysis also reveals that the development activities impacted code smell and exception handling differently, with design and code review adding more exception handling and reducing code smells. Finally, FlowGen models maintain stable Pass@1 scores across GPT3.5 versions and temperature values, highlighting the effectiveness of software process models in enhancing the quality and stability of LLM-generated code.

arxiv情報

著者 Feng Lin,Dong Jae Kim,Tse-Husn,Chen
発行日 2024-10-31 14:43:58+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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