Skip to main content
QUICK REVIEW

[論文レビュー] A Systematic and Semi-Automatic Safety-Based Test Case Generation Approach Based on Systems-Theoretic Process Analysis

Asim Abdulkhaleq, Stefan Wagner|arXiv (Cornell University)|Dec 9, 2016
Safety Systems Engineering in Autonomy参考文献 30被引用数 6
ひとこと要約

本論文は、STPA(システム理論的プロセス分析)の安全分析結果から、LTLにおける形式的仕様とSMVによるモデル検査を用いて、安全指向のテストケースを体系的・準自動的に生成するアプローチを提示する。主な貢献は、STPAソフトウェア安全要件に整合したテストケース生成を自動化するオープンソースツール、STPA TCGeneratorの開発である。これにより、安全で重要なソフトウェアテストにおけるトレーサビリティとカバレッジが向上する。

ABSTRACT

Software safety is a crucial aspect during the development of modern safety-critical systems. Software is becoming responsible for most of the critical functions of systems. Therefore, the software components in the systems need to be tested extensively against their safety requirements to ensure a high level of system safety. However, performing testing exhaustively to test all software behaviours is impossible. Numerous testing approaches exist. However, they do not directly concern the information derived during the safety analysis. STPA (Systems-Theoretic Process Analysis) is a unique safety analysis approach based on system and control theory, and was developed to identify unsafe scenarios of a complex system including software. In this paper, we present a systematic and semi-automatic testing approach based on STPA to generate test cases from the STPA safety analysis results to help software and safety engineers to recognize and reduce the associated software risks. We also provide an open-source safety-based testing tool called STPA TCGenerator to support the proposed approach. We illustrate the proposed approach with a prototype of a software of the Adaptive Cruise Control System (ACC) with a stop-and-go function with a Lego-Mindstorms EV3 robot.

研究の動機と目的

  • 既存のテスト手法が、特にSTPAのようなシステム理論的手法からの安全分析情報を統合していないというギャップを解消すること。
  • STPAから導出された不安全なシナリオと安全要件を直接活用することで、ソフトウェア集約型システムの安全テストを改善すること。
  • すべてのSTPAソフトウェア安全要件をカバーする、体系的でトレーサブルかつ形式的なテストケース生成手法を、準自動的に開発すること。
  • STPA TCGeneratorと呼ばれるオープンソースツールを構築し、テストケース生成を自動化するとともに、モデルベース開発環境への統合を支援すること。
  • 安全要件とテストモデル間のトークン類似度に基づくトレーサビリティマトリクスを導入することで、テストケースの品質を向上させ、重複を低減すること。

提案手法

  • ソフトウェア集約型システムの安全分析にSTPAを適用し、プロセスマップと安全要件を通じて、不安全な制御行動と制約を同定する。
  • 同定された不安全なシナリオを、時間的制約を含む形式的LTL仕様に変換し、時間的安全特性を表現する。
  • STPAの安全要件とプロセスマップから安全な動作モデルを構築し、システムレベルの制約と整合性を保証する。
  • 安全動作モデルから安全テストモデルを導出し、シンボリックモデル検査(SMV)を用いてその正しさを検証する。
  • 安全テストモデルから自動的にテストケースを生成し、安全要件とテストモデル間の類似度に基づくマトリクスを用いてSTPAソフトウェア安全要件へのトレーサビリティを確保する。
  • 本アプローチをSTPA TCGeneratorツールに実装し、Simulink StateflowおよびEclipseベースの環境への統合を支援する。

実験結果

リサーチクエスチョン

  • RQ1STPA安全分析の結果を、ソフトウェア集約型システムのテストケース生成に体系的にマッピングする方法は何か?
  • RQ2STPAから導出された不安全なシナリオを、テストケース生成を支援するLTLでどの程度形式的に表現できるか?
  • RQ3STPA安全要件と生成されたテストケースとの間のトレーサビリティを、どのように保証し自動化できるか?
  • RQ4自動テストケース生成が、安全で重要なソフトウェアテストにおけるカバレッジと重複に与える影響は何か?
  • RQ5テスト生成プロセス中に、STPAプロセスマップとSimulink Stateflowモデルとの間でモデルの一貫性をどのように維持できるか?

主な発見

  • 提案手法は、STPA安全要件から体系的に導出されたテストケースを生成でき、同定された安全リスクと整合していることを確認した。
  • STPA TCGeneratorツールは、各STPAソフトウェア安全要件へのトレーサビリティを備えた自動テストケース生成を支援し、監査性とカバレッジの両方を向上させた。
  • トークン類似度に基づくトレーサビリティマトリクスにより、各安全要件に該当するテスト遷移を特定でき、重複が低減された。
  • すべてのSTPAソフトウェア安全要件をカバーする100%のカバレッジを達成した。これは、すべての要件がマッチした段階でテスト生成を停止することで実現した。
  • SMVを用いたモデル検査により、安全テストモデルの正しさが確認されたが、モデル変換プロセス自体には形式的正しさの証明が欠けている。
  • Lego-Mindstorms EV3ロボットを用いたストップアンドゴー機能を備えたアダプティブクルーズコントロールシステムを対象にしたプロトタイプ実装を通じて、本手法の実用的適用性が示された。

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

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

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

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