Skip to main content
QUICK REVIEW

[論文レビュー] Control Explicit---Data Symbolic Model Checking: An Introduction

Jǐŕı Barnat, Petr Bauch|arXiv (Cornell University)|Mar 29, 2013
Formal Methods in Verification参考文献 19被引用数 4
ひとこと要約

本稿では、制御フローに明示的状態表現を、データフローに記号的集合表現を組み合わせることで、オープン変数を有する並行システムのスケーラブルな検証を可能にするハイブリッド手法、制御明示的—データ記号的モデルチェックを提案する。入力変数の範囲を記号的に符号化することで、純粋に明示的である手法と比較して顕著なスケーラビリティの向上を達成し、入力範囲を10,000まで処理可能となった(純粋明示的法では140まで)。ペトロビッチのプロトコルのような時間的性質の検証において、顕著な効率性の向上が示された。

ABSTRACT

A comprehensive verification of parallel software imposes three crucial requirements on the procedure that implements it. Apart from accepting real code as program input and temporal formulae as specification input, the verification should be exhaustive, with respect to both control and data flows. This paper is concerned with the third requirement, proposing to combine explicit model checking to handle the control with symbolic set representations to handle the data. The combination of explicit and symbolic approaches is first investigated theoretically and we report the requirements on the symbolic representation and the changes to the model checking process the combination entails. The feasibility and efficiency of the combination is demonstrated on a case study using the DVE modelling language and we report a marked improvement in scalability compared to previous solutions. The results described in this paper show the potential to meet all three requirements for automatic verification in a single procedure combining explicit model checking with symbolic set representations.

研究の動機と目的

  • 並行システムの検証において、純粋明示的モデルチェックのスケーラビリティ制限を克服すること。
  • 並列ソフトウェアにおける制御フローとデータフローの両方の包括的検証を可能にし、産業界の検証ニーズに応えること。
  • 記号的実行がオープンシステムを扱える能力と、モデルチェックが時間的性質を検証できる能力を統合すること。
  • 制御を明示的として保持しつつ、データを記号的に表現することで、純粋明示的アプローチに比べて顕著なスケーラビリティの向上が達成できることを示すこと。

提案手法

  • 制御フローには明示的状態表現を維持しつつ、データ状態を基本的な集合ベースの記号的表現で記号的に表現する。
  • モデルチェックのプロセスを変更し、すべての可能な入力変数の組み合わせに対して1回の操作で記号的式を評価して後続状態を生成する。
  • コア検証エンジンへの変更を最小限に抑え、既存の明示的モデルチェッカー(DiVinE)に記号的データ処理を統合する。
  • 式の評価中に未定義の変数の組み合わせをすべて記号的文脈に読み込む、文脈に依存する評価メカニズムを採用する。
  • 変更なしでハイブリッド状態空間に並列サイクル検出アルゴリズム(例:OWCTY)を適用し、パフォーマンス最適化を維持する。
  • 記号的ガードをチェックし、ガードが充足可能である場合にのみ、新しい記号的マルチ状態を生成する後続状態生成メカニズムを実装する。

実験結果

リサーチクエスチョン

  • RQ1入力変数の記号的表現が、オープン入力を持つ並行システムの明示的モデルチェックのスケーラビリティを向上させ得るか?
  • RQ2明示的制御フローと記号的データフローを組み合わせることで、モデルチェックのパフォーマンスとメモリ使用量にどのような影響を与えるか?
  • RQ3ハイブリッドモデルチェックにおいて時間的性質の検証をサポートするための記号的表現に必要な要件は何か?
  • RQ4実世界の並行プロトコルにおいて、このハイブリッドアプローチは純粋明示的モデルチェックに比べてどの程度スケーリング可能か?
  • RQ5この手法は、上限はあるが大きな入力ドメインを有するシステムにおいて、正確なライブネスおよびセフティ性質の検証を可能にするか?

主な発見

  • ハイブリッドアプローチは入力範囲を最大10,000までスケーリング可能であったが、純粋明示的法では同じハードウェア上では140までしか処理できなかった。
  • 32本の並列スレッドを用いた場合、明示的法では範囲0–140の1つの変数を検証するのにほぼ100秒を要したが、記号的法では同等の空間複雑性ではるかに大きな範囲を処理できた。
  • 記号的アプローチにより、実際にはデータ変数に対して対数的バインドが達成され、実行可能な入力範囲が桁違いに拡大された。
  • DiVinEに既存の並列検証アルゴリズムおよびデータ構造との互換性を維持し、コード変更を最小限に抑えられた。
  • 記号的データ表現の導入により、データ変数に指数関数的に増加する状態空間爆発が、制御可能な記号的形に変換され、より大きなシステムの検証が可能になった。
  • 結果として、基本的な記号的表現でさえも、ペトロビッチプロトコルのライブネス検証において、時間的および空間的効率の両面で純粋明示的モデルチェックを上回る性能を示した。

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

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

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

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