코드 평가 및 검증
검증 프로세스의 모든 단계를 위한 인증 도구
안전이 중요한 시스템의 소프트웨어 결함은 부상, 리콜, 인증 불합격으로 이어질 수 있습니다. 코드 검증은 소프트웨어가 사양을 올바르게 구현했는지 확인하고, 인증에 필요한 문서화된 증거를 제시합니다.
코드 검증의 중요성
규제 대상 산업에서는 요구사항이 올바르게 이행되었음을 입증해야 합니다. 적용 범위나 추적성이 미흡할 경우, 인증 감사 과정에서 결함이 드러나 제품 출시가 지연될 수 있습니다.
포괄적인 검증 접근법
효과적인 검증은 정적 분석, 동적 평가, 커버리지 측정 및 요구사항 추적성을 하나의 워크플로우로 통합합니다. 각 활동에서 생성된 증거 자료는 규정 준수 사례에 직접 반영됩니다.
- 결함 조기 탐지를 위한 정적 분석
- runtime 검증 평가
- 평가의 완전성을 검증하기 위한 커버리지
- 정확성을 보장하기 위한 추적성
검증 도구 살펴보기
PC-lint Plus
PC-lint Plus는 규모에 상관없이 모든 C 및 C++ 코드베이스에 대해 심층적이고 인증된 정적 분석을 제공합니다. 이 제품은 MISRA C 및 C++, AUTOSAR C++, CERT-C, CWE를 기본적으로 지원하며, 거의 모든 빌드 체인에 통합될 수 있고 전적으로 온프레미스에서 실행됩니다. 모든 분석 결과는 추적 가능하며, 모든 예외 처리 내역은 문서화됩니다.
VectorCAST
VectorCAST는 안전이 중요한 embedded software에 대한 단위 테스트 및 통합 평가를 자동화합니다. 이 솔루션은 테스트 환경 구축, 스텁 생성, 호스트 및 타겟 실행, MC/DC를 포함한 모든 필수 수준에 대한 커버리지 측정, 양방향 요구사항 추적성을 처리합니다. 변경 기반 시험(Change-Based Testing)을 통해 대규모 코드베이스에서도 CI 주기를 단축할 수 있습니다.
Squore
Squore는 정적 분석 결과, 테스트 결과, 커버리지 지표, 요구사항 database 등 개발 툴체인 전반의 데이터를 하나의 대시보드에 포함합니다. 또한 품질 게이트를 적용하여 팀 및 프로젝트 전체에서 규정 준수 의무를 명확히 파악할 수 있도록 하며, 품질 저하를 조기에 파악할 수 있는 추세 분석 기능을 제공합니다.
핵심 검증 활동
정적 분석
정적 코드 분석은 소스 코드를 실행하지 않고 검사하여 결함, 보안 취약점 및 코드 구현 표준 위반 사항을 조기에 탐지할 수 있게 해줍니다. 평가가 시작되기 전에 문제를 파악함으로써 코드 품질을 향상시키고, 디버깅에 드는 노력을 줄이며, 신뢰할 수 있고 규정 준수를 중시하는 개발을 지원합니다.
동적 검증 및 평가
동적 검증 및 테스트는 소프트웨어를 실행하여 runtime 시의 행동을 검증합니다. 구성 요소와 그 상호 작용을 체계적으로 확인함으로써 결함을 조기에 발견하고 올바른 기능을 보장합니다. VectorCAST는 임베디드 C, C++ 및 Ada에 대해 이 프로세스를 자동화하여, ISO 26262, DO-178C 및 IEC 61508에서 요구하는 구조적 커버리지 증거와 요구사항 추적성을 제공합니다.
지속적인 모니터링
지속적 모니터링은 시간의 경과에 따른 분석 및 평가 결과를 추적함으로써 프로젝트 차원의 소프트웨어 품질 현황을 파악할 수 있게 해줍니다. 이를 통해 추세, 격차 및 위험 요소를 조기에 파악하여 정보에 기반한 의사결정을 내릴 수 있게 하며, 복잡성이 증가함에 따라 품질 목표가 지속적으로 달성되도록 보장합니다.
규제 대상 개발을 위해 설계됨
PC-lint Plus는 exida로부터 ISO 26262:2018(ASIL A~D), IEC 61508:2010(SIL 1~4), EN 50716 및 IEC 62304 인증을 획득했습니다. VectorCAST 커버리지 측정 결과는 TÜV로부터 모든 ASIL 레벨에 대한 ISO 26262, 레벨 A의 MC/DC를 포함한 모든 DAL 레벨에 대한 DO-178C, 모든 SIL 레벨에 대한 IEC 61508, IEC 62304 및 EN 50716에 대해 인증을 받았습니다. 인증 문서는 추가 비용 없이 표준 라이선스에 포함되어 있습니다. 자격 인증 키트는 요구 시 제공됩니다.
더 자세히 알아보기
코드 검증이란 무엇인가요?
정적 분석과 단위 테스트부터 커버리지 측정 및 요구사항 추적성에 이르기까지 모든 활동을 포함하는 완전한 정의.
검증 대 타당성 확인
이 두 활동 간의 정확한 차이점, 각 활동이 어떤 증거를 산출하는지, 그리고 모든 주요 안전 표준에서 이 두 가지가 모두 요구사항으로 제시되는 이유.
정적 검증 대 동적 검증
정적 분석과 동적 평가의 차이점, 각각에서 발견되는 사항, 그리고 안전이 중요한 개발에서 이 두 가지가 함께 활용되어야 하는 이유.
코드 품질이 중요한 이유
자동차, 항공우주, 의료 및 산업용 소프트웨어의 품질 저하가 초래하는 안전, 재정 및 규제상의 결과.
품질에서 규정 준수로
체계적인 품질 프로세스가 어떻게 표준에서 요구하는 요구사항 추적성, coverage data 및 도구 적격성 입증 자료를 자연스럽게 생성하는지.

