Skip to main content
QUICK REVIEW

[論文レビュー] An Empirical Study of Path Feasibility Queries

Asankhaya Sharma|arXiv (Cornell University)|Feb 20, 2013
Software Testing and Debugging Techniques参考文献 12被引用数 3
ひとこと要約

この論文は、記号実行におけるルート到達可能性クエリに対してSMTソルバーの性能を評価し、特に全量記述子なしビットベクトルおよび配列論理(QF_ABV)に焦点を当てる。STPはZ3を10倍以上上回る性能を示し、この知見を基にLLVMベースの新しい解析、Change Value Analysisを設計した。SIRベンチマークにおいて、クエリ解決時間を48%短縮した。

ABSTRACT

In this paper we present a comparative study of path feasibility queries generated during path exploration based software engineering methods. Symbolic execution based methods are gaining importance in different aspects of software engineering e.g. proving properties about programs, test case generation, comparing different executions of programs. These methods use SMT solvers to check the satisfiability of path feasibility queries written as a formula in the supported theories. We study the performance of solving such path feasibility queries using SMT solvers for real world programs. Our path condition formulas are generated in a theory of quantifier free bit vectors with arrays (QF_ABV). We show that among the different SMT solvers, STP is better than Z3 by an order of magnitude for such kind of queries. As an application we design a new program analysis (Change Value Analysis) based on our study which exploits undefined behaviors in programs. We have implemented our analysis in LLVM and tested it with the benchmark of SIR programs. It reduces the time taken for solving path feasibility queries by 48%. The study can serve as guidance to practitioners using path feasibility queries to create scalable software engineering methods based on symbolic execution.

研究の動機と目的

  • 記号実行中に抽出された実世界のプログラムからのルート到達可能性クエリに対するSMTソルバーの性能を評価すること。
  • 記号実行で一般的に用いられる、全量記述子なしビットベクトルと配列の論理(QF_ABV)におけるクエリに最も効率的なSMTソルバーを特定すること。
  • ソルバーの性能に関する知見を活用して、ソフトウェア工学タスクにおけるスケーラビリティを向上させる新しいプログラム解析、Change Value Analysisを設計すること。
  • ソフトウェア工学分野でスケーラブルな記号実行ベースのツールを構築する実務家に対して、実験的指針を提供すること。

提案手法

  • 実世界のプログラムを用いて記号実行によりルート条件式を生成し、QF_ABV論理で表現した。
  • STPおよびZ3を含む複数のSMTソルバーを、これらの式に対して評価し、ルート到達可能性クエリの解決における性能を測定した。
  • LLVMコンパイラインfrastrucuture内で、未定義動作を検出することを目的とした新しいプログラム解析、Change Value Analysisを設計および実装した。
  • 実験的ソルバー性能データを基に、SMT解決に費やす時間を最小限に抑える最適化選択を支援した。
  • SIRベンチマークスイート上で解析を実行し、エンドツーエンドの性能向上を測定した。
  • 新しい解析とベースライン手法との比較により、ルート到達可能性クエリの解決に要する時間を測定した。

実験結果

リサーチクエスチョン

  • RQ1実世界のプログラムにおけるQF_ABV論理で表現されたルート到達可能性クエリに対して、どのSMTソルバーが最も優れた性能を示すか?
  • RQ2実ソフトウェアから抽出されたQF_ABVルート条件を解く際、STPの性能はZ3に比べてどの程度優れているか?
  • RQ3SMTソルバーのベンチマーク結果から得られる知見を、記号実行のためのより効率的なプログラム解析を設計するために活用できるか?
  • RQ4ソルバーの特性に基づいて解析パイプラインを最適化することで、ルート到達可能性の解決性能をどの程度向上できるか?

主な発見

  • QF_ABV論理で定式化されたルート到達可能性クエリの解決において、STPはZ3を10倍以上上回る性能を示した。
  • LLVMに実装された提案されたChange Value Analysisは、SIRベンチマークスイートにおいて、ルート到達可能性クエリの解決に要する時間を48%短縮した。
  • STPとZ3の間の実験的性能差は、多様な実世界のプログラムにおいて一貫して顕著であった。
  • 本研究は、ソルバー選択が記号実行ベースの解析のスケーラビリティに大きな影響を与えることを示した。
  • 結果は、効率的な記号実行ツールの設計において、ソルバー選定が極めて重要な要因であるという強力な実験的証拠を示している。
  • 新解析が達成した性能向上は、STPの使用および実験的知見に基づく最適化されたクエリ生成に起因している。

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

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

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

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