콘텐츠로 건너뛰기
Home » DO-178C에 적합한 정적분석을 활용한 소프트웨어 동적 시험 프로세스

DO-178C에 적합한 정적분석을 활용한 소프트웨어 동적 시험 프로세스

DO-178C에 적합한 정적분석 기반 소프트웨어 동적 시험 프로세스를 설명하는 썸네일 이미지
DO-178C에 적합한 정적분석 기반 동적시험 프로세스에서 테스트 케이스 생성, 테스트 실행, 커버리지 분석, 결과보고서 자동화를 보여주는 이미지

DO-178C와 항공용 소프트웨어 검증의 중요성

DO-178C는 항공기 소프트웨어 오작동으로 인한 항공기 사고 위험을 최소화하기 위한, 항공기 소프트웨어 안전성(Safety)에 대한 국제적인 감항 인증 표준 규격이다.
DO-178C는 다음과 같은 소프트웨어 개발 프로세스를 가진다.

  • 소프트웨어 계획
  • 요구사항
  • 설계 구현 및 통합
  • 검증
  • 형상관리
  • 품질관리
  • 인증 프로세스

그중에서도 검증 및 테스트와 관련된 부분이 가장 중요한 이슈로 부각되고 있다.

항공용 소프트웨어 안전성 확보를 위해서는 DO-178C(항공용 소프트웨어 안전성 및 감항인증 국제 규격) 에 적합한 테스트를 수행해야 한다.

또한 DO-178C의 Annex A. Table 7에서는 테스트 수행에 대한 목표(Objectives)를 명확하게 정의하고 있다.

DO-178C 테스트 요건

DO-178C의 테스트 요건은 다음과 같다.

  • 테스트 절차
  • 테스트 케이스 생성 및 수행
  • 테스트 결과 분석
  • 테스트 커버리지 달성

테스트 커버리지에는 다음 항목이 포함된다.

  • Statement Coverage(SC)
  • Branch Coverage(BC)
  • Modified Condition/Decision Coverage(MC/DC)

다년간 수행한 소프트웨어 시험에서 나타난 주요 문제점 및 원인은 아래와 같다.
이에 모아소프트에서는 이러한 문제점을 개선하기 위해 “정적분석 기반의 동적시험 프로세스” 를 구축하였다.

1단계. 정적분석 도구 활용

정적분석 도구인 LDRA Testbed의 주요 기능은 다음과 같다.
테스트에 사용될 자동화 도구는 LDRA이며, LDRA 도구는 DO-178C 규격에 대한 Certification을 보유하고 있다.

LDRA Testbed 주요 기능

  • 소스코드에 대한 코딩룰 검사
    예: MISRA Coding Standard 등 1,500여 개의 코딩표준 검사
  • 소스코드에 대한 품질 메트릭 산출
    예: Cyclomatic Complexity, Testability 등 40여 개의 Quality Metric 산출
  • 단위함수에 대한 input/output parameter 및 call function 정보 제공
  • Call graph, Flow diagram 등 소스코드에 대한 시각적 구조 정보 제공

2단계. 테스트 케이스 자동 생성

LDRA Testbed 정적분석 결과를 활용해 DO-178C 동적시험용 테스트 케이스를 자동 생성하는 이미지

LDRA Testbed에서 정적분석을 수행하면 Quality Review Report*.glh(정적분석 결과 파일) 이 생성된다.
이 결과 파일로부터 단위함수에 대한 정보를 추출하여 테스트 케이스를 설계한다.
추출되는 정보는 다음과 같다.

  • Function I/O 정보
  • Cyclomatic Complexity
  • Testability
  • Function Call 정보

이후 테스트 케이스 설계 도구인 TCMAN을 이용하여 단위함수의 input/output 변수 정보를 Excel 문서로 생성한다.
또한 동적시험에서 필요한 *.tcf(테스트 케이스 파일) 를 생성한다.

3단계. 테스트 실행 및 결과보고서

LDRA TBrun을 활용해 DO-178C 동적시험을 실행하고 테스트 커버리지와 결과보고서를 자동 생성하는 이미지

동적시험 도구인 LDRA TBrun을 사용하여 *.tcf 파일을 적용하고 테스트를 수행한다.
이후 국제 SW 분야 표준 서식인 ISO/IEC/IEEE 29119, IEEE Std. 829의 테스트결과보고서 *.doc을 자동으로 생성한다.
이 과정에서 다음 항목을 기록한다.

  • 테스트 커버리지
  • 코드 실행률
  • 결함

정적분석 기반 동적시험 프로세스의 효과

정적분석 기반의 동적시험 프로세스를 적용하면, 소스코드에 대한 정적분석 결과에서 코드 품질 매트릭과 함수 정보를 활용할 수 있다.

이를 통해 자동 생성된 테스트 케이스에 의한 동적시험을 수행할 수 있었다.

또한 국제 표준의 시험결과보고서를 자동 생성하여 제공함으로써, 항공 안전성 감항인증에 적합한 SW 개발 및 테스트 프로세스의 효율성과 SW 신뢰성 및 품질 향상을 제공할 수 있다.

문의 및 기술 협력

  • 홈페이지: https://moasoftware004.mycafe24.com/
  • 대표 문의: 02-6945-2156

Send us a message!

앞선 품질, 끊임없는 도전, 정직한 기술로 함께합니다.
문의 글을 작성해 주시면, 담당자 확인 후 빠르게 연락드립니다.

대표전화: (+82)02-420-3203

FAX: (+82)02-407-3511

05770 서울특별시 송파구 오금로 422, 연암빌딩 4F~6F




FAMILY SITE