Skip to main content
QUICK REVIEW

[論文レビュー] Bounded Model Checking and Feature Omission Diversity

Mohammad Amin Alipour, Alex Groce|arXiv (Cornell University)|Sep 20, 2016
Formal Methods in Verification参考文献 9被引用数 4
ひとこと要約

本稿では、複数の独立したBMCインスタンスをランダムに機能を無効化して並列に実行することで、制約の複雑さを低減し、多様な探索パスを実現する、スワーム境界モデルチェック(swarm BMC)という並列的で機能省略に基づく手法を提案する。標準BMCですら1コアでも、反例の発見を高速化でき、複数コアを用いることで複数の欠际を同時に発見できる。

ABSTRACT

In this paper we introduce a novel way to speed up the discovery of counterexamples in bounded model checking, based on parallel runs over versions of a system in which features have been randomly disabled. As shown in previous work, adding constraints to a bounded model checking problem can reduce the size of the verification problem and dramatically decrease the time required to find counterexample. Adapting a technique developed in software testing to this problem provides a simple way to produce useful partial verification problems, with a resulting decrease in average time until a counterexample is produced. If no counterexample is found, partial verification results can also be useful in practice.

研究の動機と目的

  • スワームテストにインspiredされた機能省略の多様性を導入することで、境界モデルチェックにおける状態空間の爆発問題に対処すること。
  • 並列SATソルバを必要とせずに、境界モデルチェックにおける並列性を実現すること。
  • 記号的モデルチェックにおける反例発見の効率性とカバレッジを向上させること。
  • 部分的な検証としての機能省略が、反例が見つからなくても有用な結果をもたらすかどうかを検討すること。
  • 実世界のバグを有するシステムに対して、スワームBMCの実用性と性能向上を評価すること。

提案手法

  • システムモデルにおける機能をランダムに無効化することで、より小さく制限された検証問題を生成する、スワームテスト技術を境界モデルチェックに適応する。
  • トレースベースのアプローチを用いて、境界モデルチェックを形式的に表現・操作し、機能省略を論理的制約として扱う。
  • 異なる機能のサブセットを省略した複数の独立したBMCインスタンスを並列に実行し、探索空間の多様化を図る。
  • 静的スライシングを適用して、検証問題のサイズを縮小し、スワームBMCにおける性能を向上させる。
  • 複数回のスワーム実行からの結果を集約し、反例をより速く発見するか、より安全なトレースに限定して完全検証を実行する。
  • 特定の機能(例:close, pop)を無効化することで、状態空間探索の簡素化がされ、隠れたバグが露わになることがあることを利用する。

実験結果

リサーチクエスチョン

  • RQ1スワームテストにインspiredされた機能省略の多様性は、境界モデルチェックにおける反例発見を高速化できるか?
  • RQ2機能省略されたBMCインスタンスを並列実行することで、標準BMCと比較して初回反例までの時間は短縮されるか?
  • RQ3スワームBMCによる部分的検証の結果は、完全システム検証のガイドラインや制限に利用できるか?
  • RQ4静的スライシングは、スワームBMCの性能とスケーラビリティにどのような影響を与えるか?
  • RQ5標準BMCが1つの反例を発見する前に、スワームBMCは複数の異なる欠际を発見できるか?

主な発見

  • アレイキューのベンチマークでは、スワームBMCが5000の深さで、標準BMCと比較して最大2.5倍速く反例を発見し、一部の設定では反例発見までの時間を40%以上短縮した。
  • スタックリストのベンチマークでは、機能省略を伴うスワームBMCが、標準BMCと比較して特に深さが大きい場合に、ヌルポインタデリファレンスバグを著しく速く発見した。
  • スライシングを有効化した場合、スワームBMCは非スライシングバージョンと比較して、検証時間を最大25%短縮した。これは制約の最小化の恩恵を示している。
  • すべての設定において、スワームBMCは標準BMCよりも反例を速く発見した。並列実行時には、標準BMCが何らかの反例を発見する前に、複数の異なる欠际を発見した。
  • 反例が見つからなかった場合でも、スワームBMCの結果を用いて完全検証の範囲を制限できることが示され、ハイブリッド検証戦略の可能性を示唆した。
  • 本手法は記号的モデルチェックに機能省略の多様性を効果的に適用し、SATインスタンスの複雑さを低減し、探索の多様性を向上させることに成功した。

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

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

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

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