Skip to main content
QUICK REVIEW

[論文レビュー] Lemur: Integrating Large Language Models in Automated Program Verification

Haoze Wu, Clark Barrett|arXiv (Cornell University)|Oct 7, 2023
Software Testing and Debugging TechniquesComputer Science被引用数 3
ひとこと要約

Lemurは、大規模言語モデル(LLMs)と自動定理証明者を統合する形式的フレームワークを提案する。LLMsを用いて高レベルの証明目標(例:不変条件)を生成し、検証者によって検証する。このアプローチは、複数のループを含む困難なベンチマークで最先端の結果を達成し、単一ループプログラムを越えてスケーリング可能な最初のLLM駆動の検証システムであることを示した。

ABSTRACT

The demonstrated code-understanding capability of LLMs raises the question of whether they can be used for automated program verification, a task that demands high-level abstract reasoning about program properties that is challenging for verification tools. We propose a general methodology to combine the power of LLMs and automated reasoners for automated program verification. We formally describe this methodology as a set of transition rules and prove its soundness. We instantiate the calculus as a sound automated verification procedure and demonstrate practical improvements on a set of synthetic and competition benchmarks.

研究の動機と目的

  • 現在の形式的ツールの能力を超える高レベルの抽象的推論を必要とする自動プログラム検証の課題に対処すること。
  • 検証におけるLLMsと自動推論者との相互作用を形式化し、ハイブリッドAI-形式的手法における理論的基盤の欠落を埋めること。
  • LLMsによる不変条件生成と自動ツールによる検証を活用する、実用的で整合的かつ停止保証のある検証システムを構築すること。
  • 合成プログラムや複雑な制御フローを有する実世界のC言語プログラムを含む多様なベンチマーク上で、フレームワークの評価を行うこと。
  • 複数のループや非自明なデータ型を有するプログラムにおける、LLMガイドド検証のスケーラビリティとロバストネスを調査すること。

提案手法

  • Lemurは、LLMが提案する証明目標(例:不変条件)と自動検証チェックを組み合わせた導出規則を用いた証明システムを形式化する。
  • 整合的含意関係を定義する:q ⇒ p であるとは、p が仮定 q を追加したプログラムにおいて不変条件として成立することを意味する。
  • フレームワークはLLMsを用いて部分目標(不変条件や仮定)を提案し、esbmc や UAutomizer などの自動推論者によって検証する。
  • 主なイノベーションは、条件付きプログラム動作をシミュレートするために仮定を用いることで、複雑な制御パスを探索可能にしたことである。
  • 繰り返しの精錬とプロンプト工学を用いた最適化技術により、LLMの提案品質を向上させ、重複呼び出しを削減する。
  • 実装ではGPT-4を不変条件生成に使用し、既存のC言語検証ツールと統合することで、整合性と停止性を保証する。

実験結果

リサーチクエスチョン

  • RQ1LLMsは、自動検証者を正しい検証に導く高レベルの証明目標(例:不変条件)を信頼性高く生成できるか?
  • RQ2LLM生成の推論と自動検証を組み合わせた際の整合性を保証する形式的記法は存在するか?
  • RQ3このようなハイブリッドアプローチは、現在のツールが検証に失敗する複数のループを含む複雑な検証ベンチマークを解けるか?
  • RQ4標準ベンチマークにおいて、LLMガイドド検証の性能は、完全にAIベースまたは完全に形式的手法に比べてどうか?
  • RQ5このハイブリッド環境におけるLLMsと自動検証者の実用的限界は何か。また、それらはどのように緩和できるか?

主な発見

  • Lemurは20分のタイムアウト内に50件中26件のハードSV-COMPベンチマークを解決した。一方、esbmc や UAutomizer はいずれも解決しなかった。これは顕著な性能向上を示している。
  • 本システムは最大4つのループを含むプログラムを正常に検証した。これは、LLM駆動のアプローチがこのような複雑な制御構造にスケーリングした最初の事例である。
  • 平均して、1件の解決ベンチマークあたり9.1件の提案が必要だった。これは、より単純なCode2Invベンチマークの4.7件よりも高い。これは推論の複雑さの増加を示している。
  • LLMsは、ソースコードにモジュロ演算子が存在しない場合でも、x%4==0 といった構文的テンプレートに縛られない洞察に満ちた不変条件を生成した。
  • いくつかの事例では、LLMsが論理和の不変条件を生成し、伝統的な述語抽象化手法を上回る精度でループの振る舞いを正確に捉えた。
  • フレームワークの整合性は形式的に証明されており、これは完全な形式的記法と正しさの証明を持つ最初のハイブリッド検証システムである。

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

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

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

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