Skip to main content
QUICK REVIEW

[論文レビュー] Regression Testing of Virtual Prototypes Using Symbolic Execution

Bin Lin, Dejun Qian|arXiv (Cornell University)|Jan 22, 2016
Software Testing and Debugging Techniques参考文献 26被引用数 5
ひとこと要約

本論文は、ソフトウェアのバージョン間におけるバーチャルプロトタイプのレグレッションテストのための記号実行ベースのアプローチを提案する。新しいバージョンからパス制約を収集し、それらを古いバージョンでの記号実行をガイドするものとして利用することで、装置状態を体系的に比較し、行動上の差異を検出する。実世界のバーチャルプロトタイプにおいて、レグレッションを特定するうえで高い効率性と有効性を示している。

ABSTRACT

Recently virtual platforms and virtual prototyping techniques have been widely applied for accelerating software development in electronics companies. It has been proved that these techniques can greatly shorten time-to-market and improve product quality. One challenge is how to test and validate a virtual prototype. In this paper, we present how to conduct regression testing of virtual prototypes in different versions using symbolic execution. Suppose we have old and new versions of a virtual prototype, we first apply symbolic execution to the new version and collect all path constraints. Then the collected path constraints are used for guiding the symbolic execution of the old version. For each path explored, we compare the device states between two versions to check if they behave the same. We have applied this approach to a widely-used virtual prototype and detected numerous differences. The experimental results show that our approach is useful and efficient.

研究の動機と目的

  • 電子機器および組み込みシステム開発における反復的開発サイクルにおけるバーチャルプロトタイプの検証の課題に対処すること。
  • 古いバージョンと新しいバージョンのバーチャルプロトタイプ間の行動的差異を自動的に検出することで、手動によるレグレッションテストの作業負荷とリスクを低減すること。
  • バーチャルプラットフォームにおけるレグレッションの早期かつ正確な特定を可能にすることで、市場投入までの期間短縮と製品品質の向上を図ること。
  • 記号実行を用いて、バーチャルプロトタイプのバージョン間での機能的一致性をスケーラブルかつ正確に検証する手法を提供すること。

提案手法

  • 新しいバージョンのバーチャルプロトタイプに対して記号実行を適用し、実行パスに沿ったすべてのパス制約を抽出する。
  • 新しいバージョンから収集したパス制約を再利用し、古いバージョンでの記号実行をガイドすることで、同等のパス探索を保証する。
  • 両バージョンにおける対応するパスごとに、装置状態(例:レジスタ値、メモリ内容)を比較し、行動的差異を検出する。
  • 記号実行が同時に複数の入力パスを探索できる能力を活用し、テストカバレッジと精度を向上させる。
  • 制約ソルバーを用いて、パス制約を満たす入力を生成することで、複雑な制御フローの体系的探索を可能にする。
  • 組み込みソフトウェアの実世界での検証を支援するため、仮想プラットフォーム環境にこの手法を統合する。

実験結果

リサーチクエスチョン

  • RQ1記号実行は、異なるバージョンのバーチャルプロトタイプ間の行動的レグレッションを効果的に特定できるか?
  • RQ2新しいバージョンから得たパス制約を、古いバージョンのテストをガイドするためにどのように再利用できるか?
  • RQ3このアプローチは、実世界のバーチャルプロトタイプにおける機能的差異の検出において、スケーラビリティと精度に優れているか?
  • RQ4従来のレグレッションテストと比較して、この手法はテストカバレッジと誤検出率の面で優れているか?

主な発見

  • この手法は、広く使われているバーチャルプロトタイプの古いバージョンと新しいバージョンの間で多数の行動的差異を成功裏に検出できた。
  • 新しいバージョンからの制約でガイドされたパスの体系的探索により、高いテストカバレッジが達成された。
  • 記号実行の活用により、手動でのテストケース作成の必要性が低減され、レグレッションテストの精度が向上した。
  • 実験的評価により、このアプローチの効率性と実用性が、実際の組み込みシステム開発ワークフローにおいて裏付けられた。

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

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

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

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