Skip to main content
QUICK REVIEW

[論文レビュー] Assured LLM-Based Software Engineering

Nadia Alshahwan, Mark Harman|arXiv (Cornell University)|Feb 6, 2024
Business Process Modeling and AnalysisBusiness, Management and Accounting被引用数 3
ひとこと要約

本稿では、遺伝的改善にインspiredされた、意味的フィルタを用いてLLM生成コードが元の機能を維持しながら、実行時間や正しさといった測定可能な特性を向上させる、生成・テストフレームワークであるAssured LLM-Based Software Engineering (Assured LLMSE) を提案する。このアプローチにより、オフライン環境で検証可能でテスト可能な保証を強制することで、人間によるレビュー以外の完全自動化されたコード強化が可能となり、幻覚のリスクが排除される。

ABSTRACT

In this paper we address the following question: How can we use Large Language Models (LLMs) to improve code independently of a human, while ensuring that the improved code - does not regress the properties of the original code? - improves the original in a verifiable and measurable way? To address this question, we advocate Assured LLM-Based Software Engineering; a generate-and-test approach, inspired by Genetic Improvement. Assured LLMSE applies a series of semantic filters that discard code that fails to meet these twin guarantees. This overcomes the potential problem of LLM's propensity to hallucinate. It allows us to generate code using LLMs, independently of any human. The human plays the role only of final code reviewer, as they would do with code generated by other human engineers. This paper is an outline of the content of the keynote by Mark Harman at the International Workshop on Interpretability, Robustness, and Benchmarking in Neural Software Engineering, Monday 15th April 2024, Lisbon, Portugal.

研究の動機と目的

  • LLM生成コードが元の機能を劣化させることなく、測定可能なソフトウェア特性を向上させることの課題に対処すること。
  • 人間の介入を最終レビューのみに限定して、完全自動化されたコード改善を実現すること。
  • LLMベースのコード生成のための検証可能でテスト可能で測定可能なフレームワークを構築し、オフライン保証を可能とすること。
  • 意味的フィルタリングと探索ベース最適化を用いて、LLMベースのコード生成と形式的ソフトウェア工学実践のギャップを埋めること。
  • LLMとソフトウェア測定および遺伝的改善技術を統合するスケーラブルなハイブリッド計算探索戦略を検討すること。

提案手法

  • LLMがコードバージョンを生成する生成・テストパイプラインを採用し、その後に自動的意味的フィルタを適用して機能的および性能上の保証を検証する。
  • 機能的保証と実行時間、メモリ使用量、テストカバレッジといったメトリクスの向上を保証する、意味的フィルタのスイートを適用する。
  • フルレグレッションテスト、静的解析、リンター強制などの時間的に重い検証手順を可能にするために、オフライン処理を活用する。
  • SBSEの原則に従って、再プロンプトおよびチェーンドプロンプト戦略を用いてLLM出力を段階的に最適化する。
  • 計算探索に適したドメインおよびコードに特化したプロンプト言語を導入し、遺伝的演算子が効果的なプロンプト戦略を進化させることを可能にする。
  • LLM推論と並列化された計算探索をハイブリダイズすることで最適化プロセスをスケーリングし、LLM応答評価の並列性を活用する。
Figure 1. Top level comparison between Assured and Non-Assured Large Language Model Software Engineering. In the assured mode, there is a whole infrastructure phase for implementing ‘Assurance by Analysis and Manipulation’. This assurance phase pre-processes and post-processes the initial code produ
Figure 1. Top level comparison between Assured and Non-Assured Large Language Model Software Engineering. In the assured mode, there is a whole infrastructure phase for implementing ‘Assurance by Analysis and Manipulation’. This assurance phase pre-processes and post-processes the initial code produ

実験結果

リサーチクエスチョン

  • RQ1LLM生成コードを元の機能を劣化させることなくどのように改善できるか?
  • RQ2LLM生成コードの改善が検証可能で、測定可能で、形式的に保証されるメカニズムは何か?
  • RQ3オフライン LLMSE をどのように体系的にオンライン展開に移行できるか? 保証が維持されるように。
  • RQ4LLMベースのコード最適化における高価なフィットネス関数の高速な代理として効率的で近似可能なメトリクスは何か?
  • RQ5ドメインに特化したおよびコードに特化した探索戦略は、どのようにLLMの条件付き確率分布を探索し、最適なコード改善を見つけるか?

主な発見

  • Assured LLMSEフレームワークは、意味的フィルタを用いてコード生成と人間によるレビューを明確に分離し、検証可能でテスト可能で測定可能な保証を強制することで成功した。
  • オフラインデプロイにより、リアルタイムのオンライン環境では非現実的であるフルレグレッションテストや静的解析といった厳密な保証チェックが可能になった。
  • 意味的フィルタは効果的なフィットネス関数として機能し、幻覚を防止し、意味的に正しいかつ改善されたコードバージョンのみを保持する。
  • このアプローチにより、人間エンジニアが最終レビューの唯一の参加者である完全自動化されたコード改善が可能となり、人間開発者のコードと同様のプロセスが実現された。
  • SBSEおよびGIの原則をLLMベースのコード工学に統合することで、体系的で測定可能で信頼性のある改善が達成可能であることが示された。
  • 並列評価による複数のプロンプトプログラムの評価を含む、スケーラブルなハイブリダイズ戦略は、大規模なLLMSEパイプラインにおける計算コスト削減の可能性を示している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。