要旨: 正式仕様は、ソフトウェアの信頼性と正しさを保証するうえで中核的な役割を果たします。しかし、高品質な正式仕様を自動的に合成することは依然として困難な課題であり、多くの場合ドメインの専門知識を要します。最近の研究では、大規模言語モデルを用いてJava Modeling Language(JML)で仕様を生成し、高い検証パス率が報告されています。しかし、検証器を通過したことは、その仕様が実際に正しくかつ完全であることを意味するのでしょうか。本研究では、まず、自動JML仕様合成における古典的手法とプロンプトベース手法を比較する包括的な評価を行います。次に、構造化された検証フィードバックを通じてプロンプトを進化させることで、プロンプト最適化が合成品質をさらに押し上げられるかを調べます。最適化は検証器のパス率を改善しますが、明確な性能の頭打ち(上限)があることを見出します。より重要には、我々はSpec-Harnessを提案します。これは、シンボリック検証によって仕様の正しさと完全性を測定する評価フレームワークであり、最適化されたものを含む、検証器に受理された仕様の大きな割合が、実際には正しくも完全でもなく、検証器には見えない形で入出力の両方を過剰に拘束したり過小に拘束したりしていることを明らかにします。この上限を超えるために、VeriActを提案します。VeriActは、LLM主導の計画、コード実行、検証、Spec-Harnessフィードバックの閉ループによって、仕様を反復的に合成し修復する、検証ガイド付きのエージェント型フレームワークです。2つのベンチマークデータセットに対する実験の結果、VeriActはプロンプトベースおよびプロンプト最適化のベースラインの両方を上回り、検証可能であるだけでなく正しく完全な仕様を生成することが示されました。
VeriAct:可証性を超えて——正しく完全な形式仕様のエージェント的合成
arXiv cs.AI / 2026/4/2
💬 オピニオンSignals & Early TrendsIdeas & Deep AnalysisModels & Research
要点
- 本論文は、LLMベース(従来型およびプロンプトベース)の手法が、Java Modeling Language(JML)の仕様をどの程度合成できるかを評価し、検証フィードバックを用いたプロンプト最適化によって結果を改善しようとする試みも含める。
- その主要な限界として、検証器のパス率が高いことは、合成された仕様が正しくかつ完全であることを必ずしも意味しない点を見出す。なぜなら、検証器が過剰拘束または不足拘束の仕様を見逃し得るからである。
- このギャップを測定するために、著者らは、標準的な検証器の受理判定が示す以上の仕様の正確性と完全性を、記号的検証によって評価する評価フレームワークSpec-Harnessを導入する。
- さらに、VeriActとして、検証に導かれるエージェント的ループ(LLM計画、合成/修復、コード実行、検証、Spec-Harnessフィードバック)を提案し、検証可能であるだけでなく、本当に正しくかつ完全な仕様を反復的に生成することを目指す。
- 2つのベンチマークデータセットでの実験により、VeriActはプロンプトベースおよびプロンプト最適化のベースラインを上回り、「検証器に受理されたが誤り/不完全」な仕様の割合を低減できることが示される。
