Skip to main content
QUICK REVIEW

[論文レビュー] On the Completeness of Verifying Message Passing Programs under Bounded Asynchrony

Ahmed Bouajjani, Constantin Enea|arXiv (Cornell University)|Apr 18, 2018
Formal Methods in Verification参考文献 28被引用数 7
ひとこと要約

本稿では、未定義のFIFOバッファを備えたメッセージパス方式プログラムの検証を、$k$-同期計算—最大 $k$ 個の送信アクションに続く対応する受信アクションのシーケンス—を定義することで、境界付きの解析フレームワークを提案する。$k$-同期性のためのPSPACE完全な意思決定手順を提示し、流れが有界なプログラムにおいてこのような $k$ の存在が決定可能であることを証明することで、非同期性が限定された条件下での完全な検証を可能にする。

ABSTRACT

We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called k-synchronous. These computations can be viewed as (unbounded) sequences of interaction phases, each phase allowing at most k send actions (by different processes), followed by a sequence of receives corresponding to sends in the same phase. We give a procedure for deciding k-synchronizability of a program, i.e., whether every computation is equivalent (has the same happens-before relation) to one of its k-synchronous computations. We also show that reachability over k-synchronous computations and checking k-synchronizability are both PSPACE-complete. Furthermore, we introduce a class of programs called {\em flow-bounded} for which the problem of deciding whether there exists a k>0 for which the program is k-synchronizable, is decidable.

研究の動機と目的

  • 完全非同期性下での未定義のFIFOバッファを備えたメッセージパス方式プログラムの検証の不決定性を解決すること。
  • すべてのインタリーブを探索することなく、関連する挙動をすべて捉える境界付き解析技術の開発。
  • $k$-同期性の定義と意思決定—すべての計算が $k$-同期計算と同等であるかどうかの判定。
  • $k$-同期性のための有限な $k$ の存在が保証される決定可能なクラス(流れが有界なプログラム)の同定。
  • 広範な並列メッセージパス方式システムのクラスに対して完全かつ停止する検証手法の提供。

提案手法

  • 異なるプロセスによる最大 $k$ 個の送信アクションに続く対応する受信アクションのシーケンスとして、$k$-同期計算を導入。
  • すべての計算が、ある $k$-同期計算と happens-before 関係で同等であるという性質として $k$-同期性を定義。
  • 導出された依存グラフにおける衝突グラフ解析とサイクル検出に基づく $k$-同期性の意思決定手順を提案。
  • フェーズ順序を強制するために追加のブール変数を用いたインストルメンテーションにより、$k$-同期計算の意味をシミュレート。
  • $k$-交換シーケンスを観察し、$k$-同期性の違反を検出するための補助プロセスとしてモニタを用いる。
  • $k$-同期計算における $k$-同期性と到達可能性の問題を、チャネルが有界である場合の状態到達可能性に還元し、PSPACE完全性を証明。

実験結果

リサーチクエスチョン

  • RQ1与えられた $k$ に対して、すべての計算が何らかの $k$-同期計算と同等であるかどうかを決定できるか?
  • RQ2与えられた $k$ に対する $k$-同期性の決定問題は決定可能であり、効率的に解けるか?
  • RQ3どの種のメッセージパス方式プログラムのクラスにおいて、有限な $k$ が存在してプログラムが $k$-同期可能となるか?
  • RQ4未定義の非同期性下での到達可能性検証を、完全性が保証される境界付き解析に還元できるか?
  • RQ5既存の部分順序またはバッファ制限技術と比較して、提案手法の表現力と完全性はどのように異なるか?

主な発見

  • 与えられた $k$ に対する $k$-同期性の決定問題はPSPACE完全である。
  • $k$-同期計算における到達可能性もPSPACE完全である。
  • 流れが有界なプログラムでは、$k > 0$ であってプログラムが $k$-同期可能となるような $k$ の存在が決定可能である。
  • 本手法は実世界の例(エレベータ、2フェーズコミット、ドイツプロトコル、OSR)に対して評価され、$k$-値は1から4の範囲で、それぞれ10〜25分で完了した。
  • 実験結果は、インストルメンテーションとSpinを用いたモデル検査による手法の実行可能性を確認した。
  • 本手法は、境界付き非同期性下で完全な検証手法を提供し、完全非同期性の不決定性を回避する。

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

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

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

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