자동차 , 원자력 발전소 , 비행기 등과 같은 시설 및 제품들은 다양한 장치들이 상호 협업하고 있으며 , 이들을 제어하기 위한 소프트웨어 시스템이 존재한다 . 이러한 시스템은 소프트웨어 동작과정에서 예기치 못한 오류가 발생하는 경우 , 치명적인 인명 , 재산 , 환경 피해로 이어질 있다 . 소프트웨어에 의해 심각한 피해를 유발할 수 있는 소프트웨어를 Safety Critical Software 라고 하며 , 이들은 예기치 못한 오류를 예방 , 회피 , 억제하는 속성을 의미하는 안전성 (Safety) 을 보장할 수 있어야 한다 .
Safety Critical Software 는 일반적인 소프트웨어 개발 과정과 다르게 안전성을 고려해야 하기 때문에 요구사항 수집부터 운영까지 소프트웨어의 안전성을 향상시키기 위한 많은 활동들이 필요하게 된다 . 기존의 안전성 향상 활동 중에서 대표적인 MISRA-C 코딩 가이드라인과 ISO 26262 기능 안전성 표준은 자동차 등과 같은 안전성을 중시하는 시스템의 소프트웨어 소스 코드 작성 방법을 제시하고 있다 .
- 안전성 향상을 위한 코드 리팩토링 절차
- 안전성 향상을 위한 코드 리팩토링 기법
- 안전성 향상을 위한 코드 리팩토링 적용 예