품질에서 규정 준수로
정적 분석, 단위 테스트, 커버리지 측정 및 지속적인 모니터링은 소프트웨어 품질을 향상시키고 규정 준수 증빙 자료를 생성하는 두 가지 목적을 동시에 달성합니다. 결함을 조기에 발견할 수 있으며, 코드베이스는 알려진 상태로 유지되어 감사가 가능합니다. 이러한 결과물, 즉 요구사항 추적성 기록, 구조적 coverage data 및 도구 적격성 증거는 ISO 26262, DO-178C, IEC 61508 및 IEC 62304에서 요구하는 사항을 충족합니다.
표준이 실제로 요구하는 요구사항
각 표준마다 고유한 구조와 용어를 가지고 있지만, 공통된 기대 사항을 공유하고 있습니다.
- 요구사항 기반 평가: 모든 평가는 특정 요구사항으로 추적 가능해야 합니다. 추적 가능성이 없는 평가는 검증의 충분한 근거가 되지 않습니다.
- 구조적 커버리지: 표준은 소프트웨어의 안전 무결성 수준에 의존하여 문, 분기, 또는 MC/DC를 포함한 최소 커버리지 수준을 요구합니다.
- 도구 적격성: 검증 과정에서 사용되는 도구 자체도 적격성 평가 또는 인증을 받아야 하며, 이를 통해 도구의 산출물을 증거로 신뢰할 수 있어야 합니다.
- 문서화된 증거: 결과는 검토, 감사 및 재현이 가능한 형태로 기록되어야 합니다.
우수한 실무와 규정 준수의 가교 역할
규정 준수 여부를 확인하기 위한 정적 분석
PC-lint Plus는 IEC 61508(SIL 1-3), ISO 26262(ASIL A-D), IEC 62304 및 EN 50716 인증을 획득했습니다. 이 제품은 MISRA C:2023, MISRA C++:2023, AUTOSAR C++14, CERT-C 및 CWE 호환 취약점 탐지 기준에 대한 준수 여부를 확인합니다. 모든 검사 결과는 추적 가능하며, 문서화된 근거를 바탕으로 억제할 수 있어, 이는 바로 감사관이 확인하고자 하는 사항입니다.
규정 준수를 위한 단위 테스트 및 커버리지
VectorCAST는 요구사항 기반 테스트 케이스 관리, 요구사항과 테스트 결과 간의 양방향 추적성, 그리고 안전 표준에서 요구하는 모든 모드에 대한 커버리지 측정을 지원합니다. 여기에는 주어진 표준 및 안전 무결성 수준에 맞는 올바른 커버리지 기준을 자동으로 고르는 ‘산업 모드(Industry Modes)’가 포함됩니다. 테스트 결과는 TÜV의 인증을 받았습니다.
지속적인 품질 모니터링
Squore는 정적 분석 결과, 평가 결과, 커버리지 지표, 요구사항 커버리지 등 개발 툴체인 전반의 데이터를 하나의 대시보드에 포함합니다. 또한 규정을 준수하지 않는 코드가 다음 단계로 진행되는 것을 막는 품질 게이트를 적용하며, 품질 저하를 팀에 조기에 경고해 주는 추세 분석 기능을 제공합니다.
규정 준수를 위한 실용적인 방법
개발 과정에 검증 단계를 포함시키는 것은 이를 최종 단계의 활동으로 취급하는 것보다 더 나은 결과를 가져옵니다. 초기 단계에서 정적 분석을 도입하면 결함 유형이 누적되는 것을 방지할 수 있습니다. 추적 가능성이 보장된 단위 테스트는 프로젝트가 진행됨에 따라 확장되는 증거 기반을 마련합니다. 지속적인 커버리지 모니터링을 통해 결함이 아직 미미한 단계에서 이를 파악할 수 있습니다. 각 단계는 다음 단계로 이어지며, 모든 단계에서 산출되는 결과물은 인증 기관이 검토하는 바로 그 결과물입니다.
PC-lint Plus, VectorCAST 및 Squore는 각 제품이 지원하는 표준에 따라 인증을 받았으며, 기존 개발 툴체인에 통합됩니다. 이 도구들이 생성하는 준수 증거는 별도의 문서화 작업이 아닌, 엔지니어링 작업의 직접적인 산물입니다.