[論文レビュー] Inductive Predicate Synthesis Modulo Programs
この論文では、プログラム仕様内での効率的合成を可能にする、インダクティブな述語の合成に関する新規フレームワーク、Inductive Predicate Synthesis Modulo Programs (IPS-MP) を提案する。IPS-MP は、制約付きホーン節 (CHC) 滿足可能性問題に還元されることで、スケーラブルな検証が可能となり、ブールケースでは多項式時間の決定可能性を達成し、SeaHorn との統合を通じてスマートコントラクト検証において実用的効果を示している。
A growing trend in program analysis is to encode verification conditions within the language of the input program. This simplifies the design of analysis tools by utilizing off-the-shelf verifiers, but makes communication with the underlying solver more challenging. Essentially, the analyzer operates at the level of input programs, whereas the solver operates at the level of problem encodings. To bridge this gap, the verifier must pass along proof-rules from the analyzer to the solver. For example, an analyzer for concurrent programs built on an inductive program verifier might need to declare Owicki-Gries style proof-rules for the underlying solver. Each such proof-rule further specifies how a program should be verified, meaning that the problem of passing proof-rules is a form of invariant synthesis. Similarly, many program analysis tasks reduce to the synthesis of pure, loop-free Boolean functions (i.e., predicates), relative to a program. From this observation, we propose Inductive Predicate Synthesis Modulo Programs (IPS-MP) which extends high-level languages with minimal synthesis features to guide analysis. In IPS-MP, unknown predicates appear under assume and assert statements, acting as specifications modulo the program semantics. Existing synthesis solvers are inefficient at IPS-MP as they target more general problems. In this paper, we show that IPS-MP admits an efficient solution in the Boolean case, despite being generally undecidable. Moreover, we show that IPS-MP reduces to the satisfiability of constrained Horn clauses, which is less general than existing synthesis problems, yet expressive enough to encode verification tasks. We provide reductions from challenging verification tasks -- such as parameterized model checking -- to IPS-MP. We realize these reductions with an efficient IPS-MP-solver based on SeaHorn, and describe a application to smart-contract verification.
研究の動機と目的
- プログラム解析ツールが生成する記述的証明規則を、SeaHorn などの既成品の検証ツールに効果的に伝える課題に対処すること。
- 不変条件の合成や構成的検証といった一般的な検証タスクを捉える、新しい合成問題である「インダクティブ述語の合成(IPS-MP)」を形式化すること。
- 一般には決定不能であるが、ブールケースでは効率的に決定可能であることを示すこと。
- SeaHorn との統合と実世界の検証タスク(スマートコントラクト検証を含む)における評価を通じて、IPS-MP の実用性を実証すること。
提案手法
- 未知の述語が assume および assert ステートメント内に現れる合成問題として IPS-MP を形式化し、プログラムの意味論を前提とした仕様として扱う。
- IPS-MP を制約付きホーン節(CHC)の満たされうる性質の問題に還元し、既存の効率的な CHC ソルバの利用を可能にする。
- ブールプログラムの構造を活用して、状態数に関して多項式時間で決定可能であることを示す。
- SeaHorn の既存の CHC 解法パイプラインを再利用し、IPS-MP ソルバを SeaHorn 検証フレームワーク内に実装する。
- パラメータ化されたモデルチェックイングや構成的不変条件の合成といった複雑な検証タスクを、IPS-MP に還元する手法を提供する。
- スマートコントラクト検証を含むベンチマークでソルバを評価し、HornSpec や CVC4 といった汎用合成ツールと性能を比較する。
実験結果
リサーチクエスチョン
- RQ1インダクティブ述語の合成は、解析ツールと検証ツール間での証明規則の効率的伝達を可能にする問題として形式化可能か?
- RQ2IPS-MP はブールケースで決定可能か? もしそうなら、その計算量的複雑度は何か?
- RQ3IPS-MP を CHC 満たされうる性質問題に還元しても、実用的検証タスクの表現力を保持できるか?
- RQ4既成品の CHC ソルバを基盤とする IPS-MP ソルバは、HornSpec や CVC4 といった汎用合成ツールと比較して性能に優れるか?
- RQ5IPS-MP は、パラメータ化されたシステムやスマートコントラクト検証といった実世界の検証問題に効果的に適用可能か?
主な発見
- 一般には決定不能であるが、ブールケースでは状態数に関して多項式時間で決定可能である。
- IPS-MP を CHC 満たされうる性質問題に還元することで、高性能な CHC ソルバの利用が可能となり、HornSpec や CVC4 といった汎用合成ツールと比較して優れた性能を発揮した。
- SeaHorn に統合された IPS-MP ソルバは、手動での仕様記述を不要にし、自動的に構成的不変条件を合成することでスマートコントラクトの検証に成功した。
- CVC4 はすべてのベンチマークでタイムアウトした。これは、IPS-MP における文法サポートの欠如が、その列挙探索戦略を困難にしたためと考えられる。
- HornSpec は、正則な木文法と代数的データ型に関する制約に依存しているため、IPS-MP には不適切である。これは、ブール型や線形算術制約よりも効率が悪い。
- スマートコントラクトの Solidity 用に開発された SmartACE のユースケースで示されるように、モジュラー検証における不変条件合成のエンドツーエンド自動化を実現した。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。