Skip to main content
QUICK REVIEW

[論文レビュー] Synthesizing adaptive test strategies from temporal logic specifications

Roderick Bloem, Robert Könighofer|arXiv (Cornell University)|Oct 3, 2016
Software Testing and Debugging Techniques参考文献 40被引用数 1
ひとこと要約

この論文では、反応型システムのための適応的テスト戦略を自動合成する手法を提案する。時間論理の仕様を用い、部分情報を持つ反応型合成を活用することで、単一の故障から持続的故障に至る4つの故障頻度レベルをカバーするテストを生成する。本手法は、制御可能および制御不能なシステム動作の両方に対するテストカバレッジを保証し、産業規模の仕様において有効性を示している。

ABSTRACT

Constructing good test cases is difficult and time-consuming, especially if the system under test is still under development and its exact behavior is not yet fixed. We propose a new approach to compute test cases for reactive systems from a given temporal logic specification. The tests are guaranteed to reveal certain simple bugs (like occasional bit-flips) in every realization of the specification and for every behavior of the uncontrollable part of the system's environment. We aim at unveiling faults for the lowest of four fault occurrence frequencies possible (ranging from a single occurrence to persistence). Based on well-established hypotheses from fault-based testing, we argue that such tests are also sensitive for more complex bugs. Since the specification may not define the system behavior completely, we use reactive synthesis algorithms (with partial information) to compute adaptive test strategies that react to behavior at runtime. We work out the underlying theory and present first experiments demonstrating that our approach can be applied to industrial specifications and that the resulting strategies are capable of detecting bugs that are hard to detect with random testing.

研究の動機と目的

  • システムの動作が完全に規定されていない開発初期段階において、反応型システムのための効果的なテストケースを生成する課題に対処すること。
  • 環境の制御不能な動作にかかわらず、テストケースが故障を検出できることを保証し、耐障害性を向上させること。
  • 実行時におけるシステム動作に応じて動的に反応する適応的テスト戦略を合成することにより、故障検出を向上させること。
  • 時間論理の仕様から導出されたテストが、単純なバイト反転のような故障だけでなく、複雑なバグに対しても感度を持つことを検証すること。
  • 実際の産業用仕様に対して実現可能性と有効性を示し、ランダムテストの限界を超えること。

提案手法

  • 本手法は、望ましいシステム動作および故障状態を時間論理の仕様で定義する。
  • 部分情報を持つ反応型合成を用いて、実行時入力およびシステム応答に応じて反応する適応的テスト戦略を生成する。
  • 本手法は、整備された故障仮説を前提とし、単一の故障から持続的故障に至るまでの故障を検出可能であることを保証する。
  • 仕様のすべての実装および環境動作に対して、特定の単純な故障を必ず露呈する戦略を合成する。
  • 故障感度仮説を統合することで、基本的な故障を超えたより複雑な故障の検出能力を拡張する。
  • 本手法のスケーラビリティおよび有効性を検証するため、産業規模の仕様を対象に実験を実施する。

実験結果

リサーチクエスチョン

  • RQ1時間論理の仕様を用いて、4つの故障頻度レベル(単一発生から持続的故障まで)をカバーするテスト戦略を合成できるか?
  • RQ2システム動作が完全に規定されていない状況で、どのように適応的テスト戦略を合成できるか?
  • RQ3合成されたテストは、単純なバイト反転を越えた複雑な故障をどの程度検出できるか?
  • RQ4本手法は実際の産業用仕様に効果的に適用可能か?
  • RQ5本手法は、見つけにくい故障を検出する面で、ランダムテストをどの程度上回るか?

主な発見

  • 合成されたテスト戦略は、単一の故障から持続的故障に至る全4つの故障頻度レベルの故障を検出可能である。
  • 本手法は、実行時の動作に応じて反応する適応的戦略を生成し、制御不能な環境入力に対しても耐障害性を確保する。
  • 本手法から導出されたテストは、時間論理の仕様に基づく故障仮説のおかげで、単純なバイト反転のような故障だけでなく、複雑な故障に対しても感度を持つ。
  • 本手法は産業規模の仕様に適用可能であり、実用的な実現可能性を示している。
  • 得られたテスト戦略は、微細で検出が難しい故障を検出する面でランダムテストを上回っている。
  • 実験により、システム動作が部分的に定義されていなくても、本手法が効果的で体系的なテストケースを生成することが確認された。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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