기능 안전

기능 안전을 위해 자체 툴체인을 검증하는 데 많은 비용과 시간이 소요되는 이유

<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >기능 안전을 위해 자체 툴체인을 검증하는 데 많은 비용과 시간이 소요되는 이유</span>

자동차, 산업 자동화, 의료 기기 및 항공 우주 애플리케이션에서 기능 안전 규정 준수를 보장하려면 엄격한 툴체인 검증이 필요합니다. 안전이 중요한 소프트웨어를 개발하는 기업은 ISO 26262, IEC 61508, ISO 62304 및 이와 유사한 표준을 준수해야 하며, 컴파일러 툴체인에 대한 광범위한 검증과 문서화가 요구됩니다.

일부 조직은 툴체인 검증을 고려하지만, 현실적으로 이 프로세스는 비용과 시간이 많이 들고 리소스 집약적입니다. 독립적으로 규정 준수를 달성할 수도 있지만, 일반적으로 6~12개월의 헌신적인 노력과 여러 명의 엔지니어가 필요하므로 비용이 많이 들고 위험도 높은 작업입니다.

툴체인 검증의 현실

컴파일러 툴체인의 기능 안전성을 검증하는 것은 단순히 작동 여부를 확인하는 것만이 아닙니다. 이 프로세스에는 실제 조건에서 반복성, 정확성 및 신뢰성을 검증하기 위한 엄격한 테스트가 포함됩니다.

스택 오버플로우의 한 전문가는 다음과 같이 설명했습니다:

"프로세스의 일부는 수천 개의 테스트 프로그램을 컴파일하고 그 결과를 예상 결과와 비교하는 일련의 검증 테스트 세트를 실행하는 것이었습니다. 또 다른 부분은 ISO 표준 적합성 테스트였습니다. 물론 이러한 테스트 중 어느 것도 완벽하지는 않지만 몇 가지 문제를 파악할 수 있었습니다. 세 번째 부분은 GCC 자체와 함께 제공되는 DejaGNU 테스트 스위트를 실행하는 것이었습니다."

그러나 광범위한 테스트 후에도 검증이 완벽함을 보장하는 것은 아니며, 불완전한 부분을 식별하고 문서화하여 정당화할 수 있을 뿐입니다.

"기능 안전성은 툴체인이 완벽하다는 것을 의미하는 것이 아니라 알려진 결함이 명확하게 문서화되어 있고 결함을 식별하고 문서화하는 프로세스가 마련되어 있다는 의미일 뿐입니다. 완전한 검증을 위해 필요한 것은 예상되는 동작에서 벗어나는 모든 편차를 수정하거나 문서화하고 정당화하여 알려지지 않은 부당한 편차가 없도록 하는 것입니다."

컴파일러 유효성 검사의 주요 구성 요소

컴파일러가 기능적으로 안전한 것으로 간주되려면 조직은 다음 세 가지 중요한 단계를 완료해야 합니다:

광범위한 테스트:

  • 수천 개의 테스트 프로그램을 컴파일하고 예상 결과와 비교하는 포괄적인 유효성 검사 테스트 스위트를 실행합니다.
  • ISO 표준 적합성 테스트를 수행하여 안전 규정을 준수하는지 확인합니다.
  • 컴파일러별 문제를 감지하는 데 도움이 되는 DejaGNU, Plum-Hall 검증 스위트 또는 Perennial C/C++ 검증 스위트와 같은 회귀 테스트 스위트를 실행합니다.
문서화:

  • 컴파일러가 어떻게 테스트되었는지 추적할 수 있는 포괄적인 유효성 검사 보고서를 유지합니다.
  • 예상 동작에서 벗어난 모든 편차를 문서화하여 수정하거나 정당화할 수 있도록 합니다.
  • 상세한 테스트 보고서를 통해 업계 표준을 준수한다는 증거를 제공합니다.
완화 전략:

  • 확인된 컴파일러 제한 사항에 대한 해결 방법 또는 수정 조치를 정의합니다.
  • 알려진 문제에도 불구하고 컴파일러를 프로덕션 환경에서 안전하게 사용할 수 있도록 보장합니다.
  • 향후 컴파일러 업데이트 및 재검증을 관리하기 위한 장기적인 지원 및 유지 관리 계획을 수립합니다.

이 세 단계가 없으면 컴파일러 툴체인은 기능적으로 안전하다고 볼 수 없으며, 유효성 검사 후에도 업데이트가 발생할 때마다 지속적인 유지 관리, 문서화 및 재검증이 필요합니다.

인증에는 단순한 테스트 이상의 것이 필요합니다.

많은 사람들이 컴파일러 검증을 테스트만 하면 된다고 생각하지만 이는 프로세스의 한 부분일 뿐입니다. 마찬가지로 중요한 측면은 추적성과 업계 표준 준수를 보장하는 문서화입니다. 여기에는 다음이 포함됩니다:

  • 모든 테스트 결과를 추적하는 유효성 검사 보고서 생성 및 유지 관리합니다.
  • 툴체인을 테스트한 방법과 어떤 완화 조치가 적용되었는지에 대한 추적성을 제공합니다.
  • 예상 동작에서 벗어난 모든 편차를 문서화하여 수정하거나 공식적으로 정당화합니다.

문서 작업이 많은 이 프로세스에는 규정 준수 전문가가 필요하므로 이미 복잡한 프로젝트에 상당한 오버헤드가 추가됩니다.

인증의 실제 비용

  • ISO 26262, IEC 61508, ISO 62304 또는 이와 유사한 표준에 대한 컴파일러 검증 비용은 필요한 SIL(안전 무결성 수준)에 따라 다르지만 추정치에 따르면 다음과 같습니다:
  • 6~12개월의 엔지니어링 노력
  • 최소 2~4명의 정규직 엔지니어
  • 예상 비용: $306,734~$613,468(미국 임베디드 소프트웨어 엔지니어 평균 연봉 $153,367/년 기준)
  • 외부 평가, 문서화 및 인증 심사를 위한 추가 비용

이러한 비용에는 제품 출시 지연으로 인한 영향은 포함되어 있지 않으며, 이는 안전이 중요한 애플리케이션을 개발하는 기업의 재정적 위험을 더욱 증가시킬 수 있습니다.

많은 기업에서 더 이상 "자체적으로 툴체인을 검증할 수 있는가?" 가 아니라 "그럴 만한 가치가 있는가?"가 문제입니다 .

많은 조직이 사전 인증된 도구체인을 선택하는 이유

많은 시간과 비용이 필요하기 때문에 대부분의 조직은 직접 프로세스를 진행하기보다는 사전 인증된 도구체인을 선택합니다.

IAR 사전 인증 도구체인은 ISO 26262, IEC 61508, ISO 62304에 대한 TÜV SÜD 인증을 받았기 때문에 사내 검증이 필요하지 않습니다. 기업은 IAR의 사전 인증된 툴체인을 사용하면 다음과 같은 이점을 누릴 수 있습니다:

  • 6~12개월의 인증 시간 절약
  • 비용이 많이 드는 검증 프로세스 방지
  • 글로벌 안전 표준 준수 보장

사전 인증된 기능 안전 툴체인을 활용하면 기업은 규정 준수 오버헤드를 관리하는 대신 혁신에 집중할 수 있습니다.

IAR의 플랫폼에는 항상 기능 안전이 포함되어 있습니다.

추가적인 인증 작업이 필요한 다른 솔루션과 달리 IAR의 기능 안전 솔루션에는 기능 안전이 기본 기능으로 포함되어 있습니다. 따라서 개발 팀은

  • TÜV 인증 툴체인을 즉시 활용할 수 있습니다.
  • 추가적인 툴 검증 노력 불필요
  • 단일 서브스크립션으로 여러 아키텍처(Arm, RISC-V, Renesas RX, RL78, RH850 등)를 지원하여 개발의 유연성과 효율성을 보장합니다.
  • 엄격한 안전 규정 준수를 유지하면서 시장 출시 기간 단축

안전이 중요한 소프트웨어를 개발하는 기업을 위해 IAR은 툴체인 검증과 관련된 복잡성, 시간, 비용을 없애는 비용 효율적이고 바로 사용할 수 있는 솔루션을 제공합니다.

다음 단계는 무엇인가요? 지금 시작하기

기능 안전 규정 준수를 달성하는 과정이 길고 비용이 많이 드는 과정일 필요는 없습니다. IAR 기능 안전 솔루션에서 자세히 알아보거나 기술 전문가에게 데모를 요청하세요.

참고 자료