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)|2016. 12. 09.
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 TCGenerator 도구에 구현하여 Simulink Stateflow 및 이클립스 기반 환경과의 통합을 지원한다.

실험 결과

연구 질문

  • RQ1어떻게 STPA 안전성 분석 결과를 소프트웨어 집약형 시스템의 테스트 케이스 생성에 체계적으로 매핑할 수 있는가?
  • RQ2STPA에서 유도된 비안전 시나리오는 얼마나 정확하게 LTL로 형식적으로 명세화할 수 있으며, 이는 테스트 케이스 생성을 어떻게 안내하는가?
  • RQ3STPA 안전 요구사항과 생성된 테스트 케이스 간의 추적 가능성을 어떻게 확보하고 자동화할 수 있는가?
  • RQ4자동화된 테스트 케이스 생성이 안전성 중심 소프트웨어 테스팅의 커버리지와 중복성에 미치는 영향은 어떠한가?
  • RQ5테스트 생성 과정에서 STPA 프로세스 모델과 Simulink Stateflow 모델 간의 모델 일관성을 어떻게 유지할 수 있는가?

주요 결과

  • 제안된 방법은 STPA 안전 요구사항에서 체계적으로 유도된 테스트 케이스를 성공적으로 생성하여 식별된 안전 위험과의 일치를 보장한다.
  • STPA TCGenerator 도구는 각 STPA 소프트웨어 안전 요구사항과의 추적 가능성을 갖춘 자동 테스트 케이스 생성을 지원하여 감사 가능성과 커버리지 향상을 향상시킨다.
  • 토큰 유사도 기반 추적 가능성 행렬은 각 안전 요구사항에 해당하는 관련 테스트 전이를 식별하여 중복을 줄인다.
  • 테스트 생성을 모든 요구사항이 매칭된 후 정지시킴으로써 STPA 소프트웨어 안전 요구사항의 100% 커버리지를 달성한다.
  • SMV를 이용한 모델 체킹은 안전 테스트 모델의 정확성을 확인하지만, 모델 변환 과정 자체에는 형식적 정확성 증명이 부족하다.
  • ADAS 기반의 정지-재시동 기능을 갖춘 애드밴티지 크루즈 컨트롤 시스템을 대상으로 한 프로토타입 구현을 통해 본 방법의 실용적 적용 가능성을 입증하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.