Skip to main content
QUICK REVIEW

[論文レビュー] Scheduling Constraint Based Abstraction Refinement for Multi-Threaded Program Verification

Liangze Yin, Wei Dong|arXiv (Cornell University)|Aug 22, 2017
Formal Methods in Verification参考文献 22被引用数 6
ひとこと要約

本稿では、バウンデッドモデルチェックイング(BMC)におけるスケジューリング制約の複雑な符号化を回避する、スケジューリング制約に基づく抽象化精錬手法を提案する。当初はスケジューリング制約を抽象化し、反例が不成立である場合にのみ、イベント順序グラフ上のグラフベースのアルゴリズムを用いて精錬することで、顕著な性能向上を達成した。SV-COMP 2017ベンチマークにおいて、式のサイズを8倍小さくし、検証時間を短縮することで、最先端のツールを上回った。

ABSTRACT

Bounded model checking is among the most efficient techniques for the automatic verification of concurrent programs. However, encoding all possible interleavings often requires a huge and complex formula, which significantly limits the salability. This paper proposes a novel and efficient abstraction refinement method for multi-threaded program verification. Observing that the huge formula is usually dominated by the exact encoding of the scheduling constraint, this paper proposes a sc based abstraction refinement method, which avoids the huge and complex encoding of BMC. In addition, to obtain an effective refinement, we have devised two graph-based algorithms over event order graph for counterexample validation and refinement generation, which can always obtain a small yet effective refinement constraint. Enhanced by two constraint-based algorithms for counterexample validation and refinement generation, we have proved that our method is sound and complete w.r.t. the given loop unwinding depth. Experimental results on \svcompc benchmarks indicate that our method is promising and significantly outperforms the existing state-of-the-art tools.

研究の動機と目的

  • 並列プログラムのバウンデッドモデルチェックイング(BMC)における、複雑なスケジューリング制約符号化が原因となるスケーラビリティのボトルネックを解消すること。
  • 当初はスケジューリング制約を抽象化することで、BMC式のサイズと複雑さを低減すること。
  • 反例の検証と効果的な精錬制約の生成に効率的なグラフベースのアルゴリズムを開発すること。
  • 与えられたループアンラップ深さに関して、検証プロセスの健全性と完全性を保証すること。
  • 実世界の並列プログラム検証ベンチマークにおいて、既存のツールを上回ること。

提案手法

  • 本手法は、スケジューリング制約を無視することでプログラムの過剰近似から開始する。これは、時計変数によるもので、通常は立方体のサイズとなる。
  • スレッドのインタリーブを表現し、反例の妥当性を分析するために、イベント順序グラフ(EOG)を用いる。
  • 反例が不成立であるかどうかを識別するためのコアな根拠を特定することで、グラフベースのアルゴリズムが反例の不成立性を検証する。
  • 不成立な反例を排除するための最小限で効果的な制約を生成する、制約ベースの精錬生成プロセスを用いる。
  • 精錬プロセスは、EOGにおける不成立の原因を特定することでガイドされ、抽象化の成長を最小限に抑える。
  • 本手法は、与えられたループアンラップ深さに関して、形式的に健全かつ完全であることが証明されている。

実験結果

リサーチクエスチョン

  • RQ1BMCにおけるスケジューリング制約の抽象化が、マルチスレッドプログラムの式サイズを著しく小さくし、スケーラビリティを向上させることができるか?
  • RQ2イベント順序グラフ(EOG)のグラフベース解析が、並列プログラムにおける不成立な反例を効果的に同定できるか?
  • RQ3制約ベースの精錬が、不成立な反例を効率的に排除する最小限で効果的な制約を生成できるか?
  • RQ4提案手法が、既存の最先端ツールよりも検証性能とリソース使用量で優れているか?
  • RQ5スケジューリング制約符号化の複雑さを低減しながらも、健全性と完全性を維持できるか?

主な発見

  • 提案手法により、スケジューリング制約の正確な符号化と比較して、平均的な式サイズが元の1/8にまで削減された。
  • ツールは1550秒および43 GBのメモリで、SV-COMP 2017の並列ベンチマークをすべて検証した。これは、Lazy-CSeq-Absが9820秒および104 GBを要したのに対し、優れた性能を示した。
  • すべてのベンチマークが数十回の精錬イテレーションで正常に検証されたことから、収束が非常に効率的であることが示された。
  • 精錬中の抽象化のサイズ増加は、初期の抽象化と比較してほとんど無視できるほど小さく、低コストであることが確認された。
  • グラフベースのEOG検証手法は、大多数のケースで不成立性を正しく検出できたが、稀に制約ベースの検証を要する例外も観察された。
  • 本手法は、SV-COMP 2017の並列トラックで金メダルを獲得し、実用的優位性が裏付けられた。

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

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

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

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