DO-178C(항공용 소프트웨어 감항인증)에 적합한

정적분석을 활용한 소프트웨어 동적 시험 프로세스

 

 

DO-178C는 항공기 소프트웨어 오작동으로 인한 항공기 사고 위험을 최소화하기 위한, 항공기 소프트웨어 안전성(Safety)에 대한 국제적인 감항 인증 표준 규격으로 소프트웨어 계획, 요구사항, 설계 구현 및 통합, 검증, 형상관리, 품질관리, 인증 프로세스 등의 소프트웨어 개발 프로세스를 가지며, 그 중 검증 및 테스트와 관련된 부분이 가장 중요한 이슈로 부각되고 있다. 

 

항공용 소프트웨어 안전성 확보를 위해서는 DO-178C(항공용 소프트웨어 안전성 및 감항인증 국제 규격)에 적합한 테스트를 수행하여야 하며 DO-178C Annex A. Table 7에서 테스트 수행에 대한 목표(Objectives)를 명확하게 정의하고 있다.

 

DO-178C의 테스트 요건은 테스트 절차, 테스트 케이스 생성 및 수행, 테스트 결과 분석, 테스트 커버리지-Statement Coverage(SC), Branch Coverage(BC), Modified Condition/Decision Coverage(MC/DC)- 달성 등이 있다.

 

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

 

현상 및 문제점

원인

소프트웨어 설계문서와

소스코드의 불일치

SW개발팀이 작성한 설계문서는 초기 버전이며,

최종적으로 완료전에 현행화할 예정이므로 테스트

단계에서는 테스트 설계에 직접 활용하기 어려움

테스트 케이스 설계 시간소요

소스코드의 각 단위함수에 대한 테스트 커버리지를 위해 필요한

입력변수의 입력값이 테스트를 수행하면서 사후적으로 작성되고 있음

소스코드 실행율(SC,BC, MC/DC)

100% 달성 시간소요

소스코드 실행율 100% 달성을 위해 일부 소스코드를

수정하고 다시 적용하기까지 시간이 소요됨

2차 소스코드에 대한

재시험 수행의 비효율성

개발업체로부터 수정된 소스코드를 다시 전달받아서

재수행 하기까지 시간이 소요됨

  

[단계 1] 정적분석 도구 활용

 

정적분석 도구인 LDRA Tested의 주요 기능은 다음과 같다.

(테스트에 사용될 자동화 도구는 LDRA이며, LDRA 도구는 DO-178C 규격에 대한 Certification을 보유하고 있다.)

- 소스코드에 대한 코딩룰 검사 (MISRA coding standard 1,500 여개의 코딩표준 검사)

- 소스코드에 대한 품질 메트릭 산출 (Cyclomatic Complexity, Testability 40 여개의 Quality Metric 산출)

- 단위함수에 대한 input/output parameter call function 정보 제공

- Call graph, Flow diagram 등 소스코드에 대한 시각적 구조 정보 제공

 

 

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

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

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

 

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

동적시험 도구인 LDRA TBrun을 사용하여 *.tcf 파일을 적용하여 테스트를 수행하고, 국제 SW 분야 표준 서식(ISO/IEC/IEEE 29119, IEEE Std. 829)의 테스트결과보고서(*.doc)을 자동으로 생성하며 테스트커버리지(코드실행률) 및 결함을 기록한다.

정적분석 기반의 동적시험 프로세스를 적용하여 소스코드에 대한 정적분석 결과에서의 코드 품질매트릭과 함수 정보로부터 자동 생성된 테스트케이스에 의한 동적시험을 수행할 수 있었으며, 국제 표준의 시험결과보고서를 자동 생성하여 제공함으로써 항공 안전성 감항인증에 적합한 SW개발 및 테스트 프로세스의 효율성과 SW신뢰성 및 품질향상을 제공할 수 있다.



컨설팅 담당 장정훈 차장 02.6945.2120

기술지원 문의 강유선 선임 02.6945.2141



+ Recent posts