Skip to main content
QUICK REVIEW

[論文レビュー] Explicit-Value Analysis Based on CEGAR and Interpolation

Dirk Beyer, Stefan Löwe|arXiv (Cornell University)|Dec 28, 2012
Software Testing and Debugging Techniques参考文献 26被引用数 3
ひとこと要約

本論文は、CEGAR、補間、抽象化を明示的値解析に統合する新規手法を提示し、不要でない変数の精錬に限定して動的精度調整を可能にする。このアプローチにより、不可能なエラー経路を特定するための精錬に基づき、明示的値追跡と述語解析を組み合わせることで、SV-COMP’12 競技会で最先端のツール cpa-memo を上回る競争力のある性能と精度を達成している。

ABSTRACT

Abstraction, counterexample-guided refinement, and interpolation are techniques that are essential to the success of predicate-based program analysis. These techniques have not yet been applied together to explicit-value program analysis. We present an approach that integrates abstraction and interpolation-based refinement into an explicit-value analysis, i.e., a program analysis that tracks explicit values for a specified set of variables (the precision). The algorithm uses an abstract reachability graph as central data structure and a path-sensitive dynamic approach for precision adjustment. We evaluate our algorithm on the benchmark set of the Competition on Software Verification 2012 (SV-COMP'12) to show that our new approach is highly competitive. In addition, we show that combining our new approach with an auxiliary predicate analysis scores significantly higher than the SV-COMP'12 winner.

研究の動機と目的

  • 強力な述語ベース解析と単純な明示的値解析の間のギャップを埋めるために、抽象化、CEGAR、補間を統合すること。
  • 不可能なエラー経路を排除するために必要な変数のみを精錬することで、明示的値解析における動的で適応的な精度を可能にすること。
  • 抽象化精錬中に複雑な SMT ソルバーに依存せずに、検証の性能と精度を向上させること。
  • 明示的値解析と述語解析を組み合わせることで、精度とスケーラビリティの両面で相乗効果を得ること。
  • 軽量な明示的値解析に精錬技術を組み合わせることで、先端の記号的モデルチェッカーと同等またはそれを上回る結果を達成できることを示すこと。

提案手法

  • 解析中にプログラム状態を表現するための中心データ構造として、抽象的到達可能性グラフを使用する。
  • パスセンシティブな動的精度調整を伴う CEGAR を適用し、最小限の追跡から開始し、不可能なエラー経路に基づいて精錬を実施する。
  • 不可能な経路を排除するための最小限の変数集合を特定するために、明示的値ドメインにおける補間を用いる。
  • 明示的値解析と補助的述語解析を組み合わせることで、精度と性能のバランスを図る。
  • 不可能な反例を用いて抽象化精錬を誘導し、関係のない変数の追跡を回避する。
  • SMT ソルバーは、可能性の確認と補間のためのものに限定し、コアの抽象化計算には使用しない。

実験結果

リサーチクエスチョン

  • RQ1CEGAR と補間を明示的値解析に効果的に適用することで、精度とスケーラビリティを向上させることができるか?
  • RQ2抽象化と精錬を組み合わせた軽量な明示的値解析は、SMT ベースの述語抽象化と同等の性能を達成できるか?
  • RQ3明示的値解析と述語解析を組み合わせることで、単独で使用する場合よりも優れた検証結果が得られるか?
  • RQ4明示的値ドメインにおける補間は、不可能なエラー経路を排除するための最小で十分な追跡変数集合を特定できるか?
  • RQ5実際の産業規模の検証ベンチマークにおいて、本手法は最先端のツールと比較してどのように評価されるか?

主な発見

  • 提案手法は SV-COMP’12 ベンチマークセットの 280 ケース中 211 ケースを解決し、スコア 318 を達成。SV-COMP’12 優勝者である cpa-memo を上回った。
  • 明示的値解析と述語解析の組み合わせ(cpa-expl itp -pred)は、単独の述語解析(cpa-pred)や明示的値解析(cpa-expl itp)よりも多くのケースを解決し、より高いスコアを達成した。
  • Blast や SATabs よりもはるかに少ない検証時間を消費しながら、より多くのケースを解決し、より高いスコアを達成した。
  • CEGAR と補間が明示的値解析に効果的に適応可能であることが示され、重い SMT 使用を避けつつ動的精度調整が可能になった。
  • 述語解析との組み合わせにより結果が著しく向上し、両解析手法の相補的な強みが組み合わさることで、全体の検証効果が向上することが示された。
  • 高い精度を達成しており、解決したケース数のわずかな差異にもかかわらず、cpa-memo よりもはるかに高いスコアを示しており、誤った結果が少ないことが裏付けられた。

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

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

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

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