Skip to main content
QUICK REVIEW

[論文レビュー] Formalizing the Soundness of the Encoding Methods of SAT-based Model Checking

Daisuke Ishii, Saito Fujii|arXiv (Cornell University)|Jun 24, 2020
Formal Methods in Verification参考文献 17被引用数 2
ひとこと要約

この論文は、Coq証明支援系を用いて、SATに基づくモデルチェック(SMC)のエンコーディング手法—k-帰納法とIC3/PDR—の妥当性を形式的検証する。モジュラーで浅い埋め込みによるSMC手法の定式化を導入し、状態列と経路に関する形式化された補題を通じてその正しさを証明し、信頼性の高いSMCツールの検証された基盤を確立する。

ABSTRACT

One of the effective model checking methods is to utilize the efficient decision procedure of SAT (or SMT) solvers. In a SAT-based model checking, a system and its property are encoded into a set of logic formulas and the safety is checked based on the satisfiability of the formulas. As the encoding methods are improved and crafted (e.g., k-induction and IC3/PDR), verifying their correctness becomes more important. This research aims at a formal verification of the SMC methods using the Coq proof assistant. Our contributions are twofold: (1) We specify the basic encoding methods, k-induction and (a simplified version of) IC3/PDR in Coq as a set of simple and modular encoding predicates. (2) We provide a formal proof of the soundness of the encoding methods based on our formalized lemmas on state sequences and paths.

研究の動機と目的

  • 既存の実装にはエンコーディング手法に欠陥が含まれる可能性があるため、形式的検証されたSMCツールの開発が急務であることを解決すること。
  • 主要なSMCエンコーディング技術の妥当性を形式的・機械的証明により保証し、エンコードされた論理式がシステムの安全を正しく反映することを確認すること。
  • 検証とプロトタイピングを両立できる再利用可能でモジュラーなCoq仕様を構築すること。
  • システム動作の推論に不可欠な、状態列と経路の基礎的性質—経路の分割、シフト、ループ検出—を形式化すること。
  • 古典論理が最小限に必要であることを特定し、排中律が必須となるのはたった2つの証明コンponentに限ることを同定すること。

提案手法

  • Coqにおける浅い埋め込みを用いてSMC手法を定式化し、k-帰納法と簡略化されたIC3/PDRをパラメータ化されたエンコーディング述語としてモデル化する。
  • 初期条件Iと遷移関係Tを用いて状態遷移系を定義し、形式的経路表現s[0..i]と経路述語pathTを導入する。
  • 安全を∀i, ∀s[0..i], I(s₀) → pathT(s[0..i]) → P(sᵢ)として形式化し、E•(I,T,P,k)を介して命題論理式にエンコードする。
  • 経路の分割、長さの操作、ループなし条件に関する補題を含む、状態列と経路の理論を構築し、妥当性証明を支援する。
  • 経路長およびエンコーディング構造に関する帰納的証明を実施し、書き換えと経路分解を用いて部分目標を解決する。
  • 古典論理の依存を最小限に抑えるために、その使用をたった2つのコンponentに限定する:(1) フロントエンドの論理式変換、(2) Lemma 1における背理法による証明。

実験結果

リサーチクエスチョン

  • RQ1k-帰納法とIC3/PDRのエンコーディング手法は、Coq内においてモジュラで再利用可能な形で形式的に定式化可能か?
  • RQ2これらのエンコーディング手法の妥当性は、古典論理を最小限に使用する構成的推論のみで証明可能か?
  • RQ3SMCアルゴリズムを形式的に検証するために必要な、状態列と経路に関する基礎的補題は何か?
  • RQ4形式化された仕様は、実用的妥当性を示す作業用プロトタイプSMCツールとして機能可能か?
  • RQ5SMCエンコーディングの妥当性を証明するために必要な最小限の論理的仮定(例:排中律)は何か?

主な発見

  • 著者らは、k-帰納法と簡略化されたIC3/PDRを、Coq内でのモジュラーなエンコーディング述語として成功裏に形式化し、プロトタイプSMCツールとしての仕様と実行を両立させた。
  • 前向き、後向き、k-帰納法、IC3/PDRの4つの手法すべてについて、統一された状態列と経路の理論を用いて妥当性証明を確立した。
  • 形式化には、古典論理に依存するのはたった2つのコンponentに限った:フロントエンドの論理式変換とLemma 1における背理法による証明。
  • 開発された経路理論には、経路の分割、skipnによるシフト、ループなし条件に関する補題が含まれており、証明における複雑な経路推論を処理するために不可欠であった。
  • IC3/PDRの証明は、経路の暗黙的取り扱いのおかげで相対的に簡潔であったが、k-帰納法はより明示的な経路操作とケース解析を要した。
  • 仕様と妥当性証明の全容は、https://github.com/dsksh/coq-smc/ で公開されており、再利用や拡張を可能としている。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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