Skip to main content
QUICK REVIEW

[論文レビュー] Robust Dynamic Selection of Tested Modules in Software Testing for Maximizing Delivered Reliability

Ping Cao, Zhao Dong|arXiv (Cornell University)|Sep 12, 2013
Software Reliability and Analysis Research参考文献 23被引用数 4
ひとこと要約

本稿は、ユーザーの運用プロファイルの不確実性とテスト担当者のリスク回避的傾向を考慮して、ソフトウェアテストモジュールの信頼性を最大限に高める耐性のある動的選択フレームワークを提案する。リスクのための効用関数と不確実性集合におけるロバスト最適化を用いて動的計画問題として定式化することで、欠陥数の最小化ではなく、実際に配備された信頼性の最適化を直接行うことで、特にリスク回避的テスト行動下でも、実世界の信頼性が著しく向上することを示している。

ABSTRACT

Software testing is aimed to improve the delivered reliability of the users. Delivered reliability is the reliability of using the software after it is delivered to the users. Usually the software consists of many modules. Thus, the delivered reliability is dependent on the operational profile which specifies how the users will use these modules as well as the defect number remaining in each module. Therefore, a good testing policy should take the operational profile into account and dynamically select tested modules according to the current state of the software during the testing process. This paper discusses how to dynamically select tested modules in order to maximize delivered reliability by formulating the selection problem as a dynamic programming problem. As the testing process is performed only once, risk must be considered during the testing process, which is described by the tester's utility function in this paper. Besides, since usually the tester has no accurate estimate of the operational profile, by employing robust optimization technique, we analysis the selection problem in the worst case, given the uncertainty set of operational profile. By numerical examples, we show the necessity of maximizing delivered reliability directly and using robust optimization technique when the tester has no clear idea of the operational profile. Moreover, it is shown that the risk averse behavior of the tester has a major influence on the delivered reliability.

研究の動機と目的

  • 欠陥の除去に注目するソフトウェアテストのギャップを埋める。
  • 現状の欠际状態とユーザーの運用プロファイルを考慮した動的計画としてテストプロセスをモデル化する。
  • 凹型の効用関数を用いてテスト担当者のリスク回避的行動を反映させ、実現された(期待値だけでなく)信頼性のばらつきに対する懸念を捉える。
  • 運用プロファイルの不確実性をロバスト最適化で扱い、最も悪い状況下でも性能を保証する。
  • 残存欠陥数の最小化よりも、直接的に配備信頼性を最適化することで、より優れた結果が得られることを示す。

提案手法

  • 現在の欠际状態と運用プロファイルに依存するテスト意思決定を動的計画問題として定式化する。
  • リスク回避的テスト担当者の行動を表現するため、厳密に増加する凹型の効用関数を導入し、実現された信頼性のばらつきに対する懸念を捉える。
  • 運用プロファイルの不確実性を扱うために、不確実性集合内に存在すると仮定し、ロバスト最適化を適用することで、最悪ケース性能を保証する。
  • ベルマン方程式を用いた動的プログラミングにより、最適なモジュール選択方策を導出する。
  • 数値シミュレーションを用いて、リスク回避性と運用プロファイルの不確実性が配備信頼性分布に与える影響を評価する。
  • モンテカルロシミュレーション(10,000回実行)を用いて、異なるリスクパラメータ下での配備信頼性の経験的分布を推定する。

実験結果

リサーチクエスチョン

  • RQ1配備信頼性を直接最適化することと、残存欠际数の最小化とを比較した場合、実世界のソフトウェア信頼性にどのような差が生じるか?
  • RQ2テスト担当者のリスク回避的行動が、配備信頼性の分布とばらつきに与える影響は何か?
  • RQ3ユーザーの運用プロファイルの不確実性が、テスト戦略のロバスト性に与える影響は何か?
  • RQ4真の運用プロファイルが不明な状況下で、不確実性集合におけるロバスト最適化が、テスト方策の信頼性を向上させられるか?
  • RQ5リスク回避的とリスクニュートラルな異なるリスク志向性が、最適なモジュール選択方策に与える影響は何か?

主な発見

  • 欠际数の削減が進んでも、配備信頼性を直接最適化することで、欠际数最小化よりも著しく高い実際の信頼性が得られる。
  • リスク回避的テスト担当者(γが小さい)は、特にγ = 0.001または0.01の場合、よりばらつきの大きい配備信頼性分布を生じさせ、分散が高くなる。
  • 平均配備信頼性はリスク回避性が高まるにつれて上昇する:γ = 0.001のとき0.3947からγ = 1のとき0.5512に上昇し、平均性能とばらつきのトレードオフが生じている。
  • 配備信頼性の分散は、リスクレベルに関わらず比較的安定しており(0.0057~0.0099)、しかし分布の形状は顕著に変化し、リスク回避的方策ではより大きな分散が見られる。
  • 数値例から、運用プロファイルが不明な状況ではロバスト最適化が不可欠であることが確認され、最悪ケース性能を保証する。
  • 結果から、リスク回避的行動はより慎重なテスト戦略を生み出すことがわかったが、これは安全性が求められるシステムでは、平均信頼性が低くても好ましい可能性がある。

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

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

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

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