제8부 안전·보안·시스템공학
8.7 안전 사례(Safety Case)와 논증 구조(GSN)
8.7.1 이 장에서 배우는 것 / 선수 지식 / 특히 중요한 독자
8.2는 개발의 엄격함을, 8.4는 안전성 평가의 분석을, 8.6은 위험의 정량 모형을 세웠다. 그 결과로 시험 보고서, 고장 수목, 위험 계산서, 운용 한계서 같은 증거가 쌓인다. 증거가 많다고 안전이 보이는 것은 아니다. 이 장은 흩어진 증거를 "왜 이 시스템은 이 운용에서 충분히 안전한가"라는 하나의 논증으로 통합하는 방법, 곧 안전 사례(safety case)와 그 표기법인 GSN(Goal Structuring Notation)을 다룬다.
배우는 것:
- 안전 사례가 무엇이고 무엇이 아닌가 — 증명이 아니라 증거가 뒷받침하는 설득력 있는 논증이라는 점, 그리고 규정 항목을 이행했다는 서류와의 차이.
- GSN의 요소와 서술 규칙 — 목표·전략·증거 참조·맥락·가정·정당화·미전개, 그리고 지지·맥락 두 관계.
- 논증을 작성하는 법 — 위에서 아래로 여섯 단계, 증거에서 위로 올라가는 방법, 종결되지 않는 가지의 처리.
- 흔한 오류와 충분성 판단 — 하나의 상자에 글을 모두 넣는 오류, 모호한 말, 과장, 그리고 충분성을 판단하는 여섯 속성(포괄성·종속성·정의·직접성·관련성·견고성).
- 확신을 숫자로 보는 두 계산 — 하위 주장이 늘수록 전체 확신이 줄어드는 정도, 시험 증거가 분석 값에 대한 확신을 올리는 정도.
- 반론과 검토 — 무효화 요인(defeater)을 찾는 변증, 확증 편향, 단계별 검토, 그리고 SORA의 종합 안전 포트폴리오.
선수 지식: 8.2(개발 보증)·8.4(안전성 평가)·8.6(위험 정량화)을 읽었다고 가정한다. 이 장의 워크스루는 두 장의 값(제어 상실률 $5.3\times10^{-5}$ /FH, 허용 밀도)을 그대로 이어받는다. 인증 제도의 절차는 제20부(20.5·20.6), 운용 승인은 20.14·17.17가 다룬다.
특히 중요한 독자: 인증 담당자는 8.7.6~8.7.7과 8.7.10을, 엔지니어는 8.7.8의 계산을, 정책·법무 담당자는 8.7.2와 8.7.11(제출물의 구조)을, 사업 담당자는 8.7.12(어느 수준으로 작성할 것인가)를 중점적으로 읽는다.
기준 시점과 정직성. 2026년 10월 기준이고 지식은 2026년 중반까지다. 원문을 읽은 것: GSN Community Standard Version 3(SCSC-141C, 2021-05, 130쪽, CC BY 4.0, 무료 공개), JARUS SORA 2.5 본문(2024-05-13 판)의 4.10절과 견고성 절, Bloomfield·Rushby, "Assurance 2.0: A Manifesto"(arXiv:2004.10474v3, 2021-01-14). 읽지 못한 것: UL 4600, ISO/IEC/IEEE 15026-2, OMG SACM 사양(모두 유료이거나 별도 입수가 필요해 이름과 용도만 적는다). 이 장의 확신 계산은 개념을 보이는 가정 예이며 인증이 요구하는 정량 방법이 아니다.
8.7.2 개념 — 안전 사례는 증거가 뒷받침하는 논증이다
GSN 표준은 보증 사례(assurance case)를 이렇게 정의한다. 정의된 환경에서 정의된 용도로 시스템·서비스·조직이 의도대로 운영될 것이라는 점에 대한, 증거 묶음이 뒷받침하는 합리적이고 설득력 있는 논증이다. 초점이 안전이면 안전 사례, 보안이면 보안 사례다. 이 정의에서 눈여겨볼 점이 셋이다.
- 논증이다. 증거 목록이 아니다. 주장(claim)이 무엇이고, 증거가 그 주장을 어떻게 뒷받침하는지의 추론이 눈에 보여야 한다.
- 증거가 뒷받침한다. 모든 주장은 결국 증거를 참조하는 가지로 끝난다.
- 정의된 환경과 용도다. 맥락을 벗어나면 논증은 적용되지 않는다. 운용 구역·기체 구성·운용 한계가 논증의 일부다.
규정 준수 중심의 인증과 비교하면 차이가 분명하다.
| 항목 | 규정 항목 이행 중심 | 안전 사례(목표 기반) |
|---|---|---|
| 출발점 | 규정이 정한 방법·항목 | 도달해야 할 안전 목표(주장) |
| 증거의 역할 | 항목별 이행 서류 | 주장을 지지하는 근거, 주장과의 관계가 논증에 드러남 |
| 새 기술 | 기존 항목이 없으면 적용이 어려움 | 새 기술도 주장·증거로 서술 가능 |
| 위험 | 이행하면 안전하다는 암묵적 가정 | 논증의 공백·가정을 명시적으로 심사 |
| 비용 | 문서 양이 정해져 있음 | 논증 작성·유지의 노력이 큼 |
두 방식은 대립하지 않는다. 규정이 정한 이행 증거도 안전 사례 안에서 "해당 규정 요건을 만족한다"는 주장의 증거가 된다. 안전 사례는 이행 서류들의 상위에 논증 층을 하나 더 둔 것이다. 이 층이 있어야 "이행했는데 왜 안전한가"에 답할 수 있다.
세 축에서 사용되는 방식이 다르다. 민간 UAS에서는 SORA의 마지막 단계가 "구조화된 논증이 증거 묶음으로 뒷받침되어 견고한 안전 사례를 이룬다"고 규정한다(8.7.11). AAM(eVTOL) 의 형식증명은 인증기준 항목별 적합성 입증이 중심이고(20.6), 안전성 평가서(SSA, 8.4)가 증거의 핵심이며, 규정이 없는 새 기술(학습 기반 기능 등)에서는 안전 사례 형태의 논증이 논의된다(20.10). 군용 드론은 체계안전 프로그램이 안전 사례 또는 이에 해당하는 보고서를 요구하는 경우가 있다 (제도별 확인 필요, 8.5).
8.7.3 논증의 구조 — 주장, 추론, 증거
GSN 표준은 논증을 전체 주장을 확립하려는, 서로 이어진 주장들의 연쇄로 정의한다. 하위 주장이 상위 주장을 뒷받침하고, 하위 주장도 더 하위 주장으로 뒷받침되며, 가장 아래의 주장은 증거를 가리킨다. 이 계층이 논증의 골격이다.
중요한 성질이 둘 있다.
첫째, 안전 논증은 귀납이다. 표준(2:7.4.4.1)은 보증 논증이 대체로 귀납적이어서 결론의 절대적 참을 확립하지 못하고, 전제의 개연적 참이 결론으로 전달된다고 설명한다. 그래서 평가의 질문은 "참인가"가 아니라 "전제들이 합쳐서 결론을 뒷받침하기에 충분한가"이다(8.7.7).
둘째, 표기법이 논증을 참으로 만들지 않는다. 표준은 GSN이 주장된 논증을 기록하는 수단일 뿐이며 GSN을 사용했다는 사실이 그 논증의 참을 확립하지 않는다고 명시한다(0:4.12). GSN의 이익은 이해관계자(개발자·독립 평가자·인증 당국)가 논증을 이해하고 이의를 제기하기 쉬워진다는 데 있다.
GSN은 1990년대 초 영국 요크 대학의 ASAM-II 프로젝트에서 시작되었고 툴민(Toulmin)의 논증 이론과 목표 지향 요구공학(KAOS)의 영향을 받았다(표준 1:1.3). 표준은 2011년 11월(1판), 2018년 1월(2판), 2021년 5월(3판)로 발행되었고 SCSC 보증 사례 작업반(ACWG)이 유지한다. 3판은 모듈 논증, 확신 논증, 변증 확장을 추가했다.
8.7.4 GSN의 요소와 관계
GSN의 핵심 요소는 여섯 가지이고 관계는 두 가지다(표준 1:2).
| 요소 | 모양 | 내용 | 서술 규칙(표준 1:2.3) |
|---|---|---|---|
| 목표(Goal) | 사각형 | 논증의 주장(전제 또는 결론) | 명사구+동사구의 명제 하나 |
| 전략(Strategy) | 평행사변형 | 목표와 하위 목표 사이의 추론 방식 | 논증 방식의 짧은 서술("…로 논증") |
| 증거 참조(Solution) | 원 | 증거 항목을 가리킴 | 명사구. 주장을 담지 않음 |
| 맥락(Context) | 둥근 사각형 | 주장·전략을 해석하는 조건, 참조 문서, 용어 정의 | 문서 참조는 명사구, 설명은 명사구+동사구 문장 |
| 가정(Assumption) | 'A'가 붙은 타원 | 의도적으로 입증하지 않은 진술 | 완전한 문장 |
| 정당화(Justification) | 'J'가 붙은 타원 | 주장·전략을 그렇게 세운 이유 | 완전한 문장 |
| 미전개(Undeveloped) | 속이 빈 마름모(장식) | 의도적으로 전개하지 않은 주장 | — |
두 관계는 선의 화살촉으로 구분한다. SupportedBy(속이 찬 화살촉)는 목표→목표, 목표→전략, 목표→증거 참조, 전략→목표를 잇는 추론·증거 관계다. InContextOf(속이 빈 화살촉)는 목표나 전략을 맥락·가정·정당화에 잇는다.
가정과 정당화는 범위가 다르다. 표준(1:2.2.13·1:2.2.14)에 따르면 가정은 연결된 목표 아래 논증 전체에 적용되므로 하위 논증에서 다시 적을 필요가 없다. 정당화는 연결된 요소에만 국한되므로 다른 곳에서 필요하면 다시 적어야 한다. 맥락도 연결된 요소 아래 논증 전체에 적용된다. 그래서 하위 논증의 어느 곳도 맥락·가정을 부정하거나 약화시키면 안 된다.
표준의 확장도 있다. 패턴 확장은 되풀이되는 논증 구조를 일반화한다. 모듈 확장은 논증을 모듈로 나누고 모듈 사이의 계약(contract)을 정해 큰 시스템의 논증을 공급자별로 분담하게 한다(8.3의 인터페이스 관리와 같은 발상). 확신 논증 확장은 보증 주장점(ACP, Assurance Claim Point)을 논증의 관계나 증거 참조에 붙여 "이 관계·증거를 왜 신뢰하는가"를 별도의 논증으로 둔다. 변증 확장은 논증에 대한 도전(반박·약화)을 표기한다(8.7.9).
아래 그림은 이 책의 기준 기체(2 kg 육륜)의 지상 위험 논증을 GSN으로 축약한 것이다. 값은 8.4·8.6의 가정을 이어받았다.
그림의 읽는 법은 이렇다. 최상위 목표 G1은 그 논증의 진짜 목적이다. 8.6의 TLS($10^{-6}$ 명/FH)를 만족한다는 주장이다. 전략 S1은 위험을 빈도·결과·노출의 곱으로 나누어 세 하위 목표를 연다. G2(빈도)는 고장 수목 보고서(8.4)와 시험 기록이 뒷받침하고, G4(노출)는 운용 한계서가 뒷받침한다. G3(결과: 사망 확률 0.3 가정)은 근거가 없어 미전개로 남아 있다. 8.6에서 이 값이 문헌 모형이 아니라 가정이라고 밝혔기 때문이다. 이런 공백이 즉시 보이는 것이 구조화의 이익이다. G4의 숫자는 8.6의 식에서 나온다. SORA 기본 가정(임계 면적 8 m², 직접 충돌 치명)에서 제어 상실률 $10^{-4}$ /FH가 TLS를 만족하는 최대 밀도는 $10^{-6}/(10^{-4}\times8)=1.25\times10^{-3}$ 명/m², 곧 1,250명/km²이므로 한정 밀도를 1,000명/km²로 두면 20 %의 마진이 있다.
8.7.5 논증을 작성하는 법
8.7.5.1 위에서 아래로 — GSN 여섯 단계
표준(2:3)은 위에서 아래로 논증을 세우는 여섯 단계를 제시한다.
| 단계 | 하는 일 | 이 장 그림의 예 |
|---|---|---|
| 1. 목표 식별 | 논증이 확립해야 할 주장을 세운다 | G1 사망 위험이 TLS 이하이다 |
| 2. 목표 서술의 기반 정의 | 맥락·가정·정당화를 단다 | C1 운용 구역 |
| 3. 전략 식별 | 목표를 하위 목표로 나누는 추론 방식을 정한다 | S1 위험의 세 인자로 분해 |
| 4. 전략 서술의 기반 정의 | 전략의 맥락·가정·정당화를 단다 | A1은 전략 S1에 연결 |
| 5. 전략 전개 | 하위 목표를 서술하고 반복한다 | G2·G3·G4 |
| 6. 증거 참조 식별 | 더 나눌 필요가 없는 목표에 증거를 연결한다 | FTA 보고서, 시험 기록 |
한 목표에 증거 참조를 여럿 달면 각 증거가 주장에 기여하는 몫이 불분명해진다. 표준(2:3.7.5)은 중간 목표를 두어 목표와 증거 참조를 1대 1로 대응시키라고 권한다.
최상위 목표는 수단이 아니라 목적으로 세운다. 표준은 "앞서 뛰기(jumping ahead)" 오류의 예로 "기계에 인터록이 장착되어 있다"를 최상위 주장으로 세우는 것과 "위험이 줄었다"를 세우는 것을 대비한다. 앞의 것은 왜 인터록이 위험을 줄이는지의 상위 정당화를 생략한다.
8.7.5.2 아래에서 위로, 그리고 종결되지 않을 때
이미 가진 증거에서 출발하는 방법도 있다(표준 2:4). 표준은 분석과 시험을 수행했으나 정식 안전 사례를 만들 의도나 요구가 없었던 경우, 또는 기존 사례를 갱신해야 하는 경우를 든다. 이때 안전 보고서 묶음이 무엇을 입증하려는지에 대한 일관된 설명 없이 이해관계자에게 제출되는 "논증 없는 증거" 문제를 사후에라도 줄일 수 있다. 절차는 증거를 증거 참조로 놓고, 각 증거가 직접 뒷받침하는 증거 단언 목표를 추론하고, 그 위에 상위 목표를 올리고, 분해 전략과 맥락을 더한 뒤, 구조를 아래로 다시 점검하고(상향 6단계), 하향 논증에 편입한다(7단계).
위에서 아래로 내려가다 보면 가장 아래 주장에 필요한 증거가 없는 경우가 자주 생긴다. 증거가 전혀 없거나, 더 흔하게는 기존 증거가 최하위 주장을 충분히 포괄하지 못한다. 표준(2:3.8)의 답은 이렇다. 먼저 증거를 더 찾는다. 찾지 못하면 논증을 고쳐야 한다. 가진 증거로 말할 수 있는 주장을 확인하고, 증거 참조 바로 위 주장을 그에 맞게 다시 서술한다. 이는 주장을 덜 구체적으로 만들거나 더 엄밀하게 한정하는 것, 곧 주장의 약화다. 그 뒤 그 주장에 의존하는 모든 상위 주장을 다시 검토해 영향을 받는지 확인해야 하고, 결과는 그 가지 전체의 약화일 수 있다. 주장을 그대로 두고 의도적으로 전개하지 않은 가지는 미전개 장식으로 표시한다. 이 장의 그림 G3와 8.6.4.3이 그 예다. 중요한 것은 공백을 숨기지 않고 표시하는 것이다.
8.7.6 흔한 오류
표준(2:5·2:6)은 논증 작성에서 반복되는 오류를 정리한다. 표는 그 요지다.
| 오류 | 내용 | 바로잡기 |
|---|---|---|
| 상자 속 에세이 | 목표·전략·증거 참조에 긴 요약을 작성해 넣어 여러 주장이 한 상자에 들어감 | 원자성: 한 요소에 주장 하나 또는 참조 하나. 동사구가 둘이면 주장이 둘일 수 있음 |
| 어휘의 모호성 | 한 말이 둘 이상으로 읽힘. 예: "시스템 기능 소프트웨어 요구의 개발은 충분히 안전하다"는 최소 다섯 가지로 해석됨 | 한정어의 범위를 분명히 하고 용어를 맥락에서 정의 |
| 막연한 말 | 'abnormal', 'appropriate', 'effective', 'early', 'normal', 'often', 'timely' 등 표준이 예로 든 말 | 검증 가능한 말로 맥락에 정의 |
| 과장 | 'all', 'any', 'each', 'every'를 정당화하지 못한 채 사용 | 정말 그 범위를 입증하는지 따져서 한정 |
| 과소 진술 | "일부 위험이 식별되었다"처럼 참이지만 논증에 쓸모없는 주장 | 의미 있는 주장으로 올림 |
| 지나친 단순화 | "모든 위험이 완화되었다"인데 실제는 주요 위험만 | 범위를 정확히 서술 |
| 앞서 뛰기 | 상위 목적 대신 그것을 뒷받침하는 수단을 최상위에 세움 | 가장 근본적인 목적을 주장 |
| 맥락의 오용 | 주장의 참을 뒷받침하는 정보를 맥락에 둠 | 그것은 증거이므로 증거 참조로. 단정할 수 없는 진술은 가정으로 |
| 전략의 오용 | 전략을 시스템의 관점("인터록 사용")으로 서술하거나 주장을 전략에 담음 | "인터록 사용에 근거한 논증"처럼 논증의 관점으로. 주장은 목표에 둠 |
| 비약 | 쉬워 보이는 추론 단계를 건너뜀 | 독자가 당신보다 시스템을 덜 안다고 가정하고 전략을 명시 |
표준은 한 문장을 덧붙인다. 검토자는 흔히 논증이 무엇인지 알아내는 데 먼저 노력을 들이는데, 이를 "산업 고고학"이라 부른다. 이 노력은 논증의 구조가 아닌 표현에 대한 검토 의견만 늘린다.
한 말이 두 뜻으로 읽히지 않게 하라는 요구는 안전 논증에서는 요건이다. 해석이 둘로 나뉘는 주장은 한 해석을 입증한 뒤에도 다른 해석으로 반박된다.
8.7.7 논증이 충분한지 판단하는 여섯 속성
귀납 논증의 충분성은 참·거짓이 아니라 정도의 문제다. 표준(2:7.4.4.2)은 전제가 결론을 뒷받침하는 충분성을 여섯 속성으로 살피게 한다.
| 속성 | 묻는 것 | 부족한 예 |
|---|---|---|
| 포괄성(Coverage) | 논증·증거가 결론의 범위를 포괄하는가 | "모든 위험"에 대한 결론인데 증거는 식별된 위험의 일부만 다룸 |
| 종속성(Dependency) | 여러 증거가 정말 독립인가 | 두 증거가 모두 같은 결함 있는 시스템 모델에서 출발함 |
| 정의(Definition) | 논증이 지나치게 좁거나 넓지 않은가 | "화요일에는 안전하다"처럼 좁게 정의된 운용 맥락 |
| 직접성(Directness) | 증거가 결론을 직접 다루는가 | 제품 주장에 대한 과정 증거는 간접이며 단독으로는 설득력이 약함 |
| 관련성(Relevance) | 증거가 결론과 관련이 있는가 | 새 소프트웨어 버전의 요건 만족을 이전 버전의 시험 증거로 주장함 |
| 견고성(Robustness) | 증거·주장이 바뀌어도 결론이 유지되는가 | 목표를 겨우 만족한 경우 대 큰 마진으로 만족한 경우. 비관적 분석으로 겨우 만족한 것은 낙관적 분석의 큰 마진보다 설득력이 클 수 있음 |
표준은 검토자에게 "논증이 불충분하다"는 막연한 비판 대신 "포괄성이 부족하다"처럼 속성을 지명한 지적을 권한다. 이 속성은 이 책의 앞 장들과 이어진다. 종속성은 8.2.6의 공통 원인 비율 $\beta$와 같은 문제다(독립이라는 가정이 확신의 과대평가를 낳는다). 견고성은 8.6.7의 마진과 같은 문제다(명목값이 한계에 가까울수록 초과 확률이 높다).
8.7.8 워크스루 — 확신을 숫자로 보면
확신의 정량화는 논쟁 중이다. GSN 표준도 확신 논증을 별도의 논증으로 두고 수치를 정하지 않는다. 아래 두 계산은 방향과 크기의 감각을 주기 위한 가정 예이며 인증 방법이 아니다(8.7-calc.py, 파이썬 표준 라이브러리).
8.7.8.1 하위 주장이 늘면 전체 확신은 줄어든다
상위 주장이 성립하려면 하위 주장 $N$개가 모두 참이어야 하고 각각의 확신이 $p$이며 서로 독립이라면 전체 확신은 $p^N$이다.
$$C_{\text{전체}}=p^{N}$$
| 각 주장의 확신 $p$ | $N=5$ | $N=10$ | $N=20$ | $N=30$ |
|---|---|---|---|---|
| 0.90 | 0.59 | 0.35 | 0.12 | 0.04 |
| 0.95 | 0.77 | 0.60 | 0.36 | 0.21 |
| 0.99 | 0.95 | 0.90 | 0.82 | 0.74 |
| 0.999 | 0.995 | 0.990 | 0.980 | 0.970 |
위 그림 1의 논증에서 세 하위 목표를 각각 0.95로 믿으면 $0.95^3=0.86$이고, 각 하위 목표가 다시 세 개의 말단 주장으로 나뉘면 말단 9개의 곱 $0.95^9=0.63$이다. 전체 0.9를 얻으려면 $N=10$에서 말단마다 0.9895가 필요하고, 전체 0.99를 얻으려면 0.9990이다. 논증이 넓을수록 각 말단의 확신이 높아야 한다.
이 곱은 두 가지 점에서 단순하다. 완전 종속이면(모든 하위 주장이 같은 이유로 함께 참이거나 거짓) 전체 확신은 $p$ 그대로다. 실제는 그 사이이고 어느 쪽이 맞는지는 종속성(8.7.7)을 입증해야 안다. 또 논증을 줄여서 확신을 높이는 길도 있지만 주장의 범위를 좁혀서 포괄성을 잃으면 쓸모가 없다.
8.7.8.2 시험 증거가 분석의 확신을 올리는 정도
8.4.6의 기준 설계는 분석으로 제어 상실률 $5.3\times10^{-5}$ /FH를 얻었다. 입력의 불확실성을 반영해 이 값을 로그정규 사전분포(중앙값 $5.3\times10^{-5}$, 오차 계수 EF 3)로 놓는다. 시험 증거는 누적 $T$ 비행시간 동안 제어 상실 0건이라고 하자. 지수 분포 가능도($e^{-\lambda T}$)로 사후분포를 구하고 목표 "$\lambda\le10^{-4}$ /FH"가 참일 확률(사후 확신)을 본다.
| 사전(분석) | 시험 전 | 1,000 FH | 3,000 FH | 10,000 FH | 30,000 FH | 100,000 FH |
|---|---|---|---|---|---|---|
| 낙관(중앙 $5.3\times10^{-5}$, EF 3) | 0.83 | 0.84 | 0.87 | 0.92 | 0.99 | 1.00 |
| 보수(중앙 $3\times10^{-4}$, EF 3) | 0.05 | 0.07 | 0.10 | 0.23 | 0.63 | 0.99 |
| 불확실(중앙 $5.3\times10^{-5}$, EF 10) | 0.67 | 0.73 | 0.80 | 0.91 | 0.99 | 1.00 |
사후 확신 0.95에 도달하는 데 필요한 무고장 누적 시간은 낙관 사전에서 약 16,000 FH, 불확실 사전에서도 약 16,000 FH, 보수 사전에서 약 79,000 FH다(시간 격자가 조밀하지 않아 약 1.3배의 오차를 가진다). 분석 없이 시험만으로 보이는 3/$\lambda$ 규칙(8.4.14)은 $\lambda=10^{-4}$에서 30,000 FH를 요구한다.
읽을 점이 넷이다. 첫째, 분석과 시험은 서로 독립인 증거로서 합쳐서 확신을 올린다. 분석이 타당했으면 시험 시간이 3/$\lambda$보다 짧게 든다. 둘째, 분석이 틀렸다면(보수 사전) 같은 시험으로 확신이 올라가는 속도가 훨씬 느리다. 사전이 낙관적이었는지는 시험이 끝나야 알 수 있다. 셋째, 고장이 한 건 나오면 확신이 내려간다. 낙관 사전에서 10,000 FH에 한 건이면 0.80(무고장이면 0.92)이고 30,000 FH에서 한 건이어도 0.95다. 시험 증거는 고장이 없을 때만 오르는 것이 아니라 고장 건수에 따라 방향이 바뀐다. 넷째, 이 계산은 시험이 운용을 대표한다는 관련성(8.7.7)을 가정한다. 시험 조건이 운용보다 순하면 확신은 이 값보다 낮다.
8.7.9 반론과 반증 — 변증, 무효화 요인, 확증 편향
안전 사례를 작성하는 사람은 그 시스템이 안전하다고 믿으며 논증을 쌓는다. 이 상태에서는 확증 편향(자신의 믿음을 강화하는 방향으로 정보를 해석하는 경향)이 구조적 약점이다. GSN 표준(0:3.2)은 논증을 작성·승인·유지하는 동안 편향을 제거하는 비판적 평가를 필수적인 모범 사례로 보고, 특히 변증(dialectic) 접근을 권고한다. 변증은 이의를 제기하고 그에 답하며 진실을 가려 가는 추론이다.
GSN 3판의 변증 확장(표준 2:11)은 논증의 어느 부분에든 무효화 요인(defeater) 을 적용한다. 무효화 요인에는 두 종류가 있다.
| 종류 | 내용 | GSN의 표기 |
|---|---|---|
| 반박(rebuttal) | 논증의 일부 또는 전부에 도전하는, 근거를 가진 논증 | 도전을 주장하는 목표가 반박한다. 반박은 그 주장을 뒷받침하는 논증이 전개되어야 완결 |
| 약화(undercutting) | 논증의 일부 또는 전부에 도전하는 추가 사실 | 도전을 주장하는 증거 참조(반증)로 표기 |
도전이 제기되면 그 대상은 일단 무효로 표시된다. 그 도전이 다시 반박되어 무효화되면 대상은 더 이상 무효로 표시되지 않는다(표준의 예시 절차). 표준은 이것이 하나의 예이며 다른 절차에서는 도전이 제기된 뒤 의문을 검토하고 해소하는 후속 단계를 요구할 수 있다고 밝힌다. 변증을 그림으로 그리지 않더라도 구조를 세우는 동안 스스로 질문하는 것이 가장 간단한 형태라고 권한다.
Bloomfield·Rushby의 "Assurance 2.0"은 이 생각을 발전시킨다. 이 틀은 CAE(Claims–Arguments–Evidence)와 GSN 같은 기존 방식의 구조를 유지하되, 확신의 근거를 비무효성(indefeasibility) 기준으로 삼는다. 믿음이 정당하려면 확인된 모든 의문과 이의가 다루어졌고 결론을 바꿀 만한 신뢰할 만한 의문이 남아 있지 않아야 한다. 의문이 완전히 없을 수는 없고, 남은 의문을 알고, 검토하고, 의식적으로 결정했다는 점이 사례를 비무효로 만든다. 모르는 의문이나, 알지만 처리하지 않은 의문이 있으면 비무효성은 사라진다. 그래서 이 틀은 무효화 요인의 탐색과 그 해소를 위험 분석과 위험 기록부(hazard log)가 안전 공학의 필수 부분인 것처럼 사례의 필수 부분으로 체계화하고 기록하자고 제안한다. 방법으로는 반론과 반사례(countercase), 곧 최상위 주장의 부정에 대한 보증 사례를 구성해 따져 보는 것이 있다.
이 책의 앞 장과 직접 관련되는 곳이 있다. 8.4의 FHA와 FTA가 "무엇이 잘못될 수 있는가"를 체계적으로 찾듯이, 안전 사례의 변증은 "논증이 무엇이 잘못될 수 있는가"를 체계적으로 찾는다. 분석의 가정(독립, 탐지율, 밀도)이 무효화 요인의 가장 흔한 대상이다.
8.7.10 검토와 수명
8.7.10.1 단계별 검토
표준(2:7)은 검토를 생애 주기 전체에 걸쳐 단계적으로 하라고 권한다. 문제를 일찍 발견할수록 좋고, 인수 당국이 중간 결론을 승인해 주기는 어려우므로 목표는 "부정적이지 않은 응답", 곧 현 상태에서 추론이나 증거에 중대한 결함이 없다는 확인을 얻는 것이다. 당국이 참여하지 못해도 조직 안에서 개발에서 독립성을 유지한 사람 또는 "내가 인수 책임자라면 이 논증의 어느 곳이 설득력 없을까"를 역할 연기하는 자체 검토가 유용하다. 표준은 시스템을 가장 잘 아는 사람이 보증을 확신시키기 가장 어려운 상대일 때가 많다고 적는다.
| 단계 | 점검 내용 |
|---|---|
| 1. 논증 이해 | 주장·전략·가정·맥락·증거를 식별한다. GSN을 사용했다면 기호 사용이 정의와 맞는지(전략에 중간 주장이 들어가지 않았는지)를 본다 |
| 2. 구조 형식 점검 | 순환 논증, 뒷받침 없는 주장, 역할 없는 증거, 연결되지 않은 조각을 찾는다. 도구로 일부 자동화할 수 있다 |
| 3. 표현의 충분성 | 암묵적인 추론에 전략을, 불명확한 말에 맥락을 요구한다 |
| 4. 논증 비판과 무효화 | 8.7.7의 여섯 속성으로 충분성을, 8.7.9의 변증으로 반박·약화를 점검한다 |
| 5. 증거 감사 | 증거가 실제로 존재하고 주장을 뒷받침하는지, 증거의 무결성이 충분한지 확인한다 |
증거의 무결성은 세 가지로 본다. 증거에 얼마나 많은 결함이 있는가(검토 중 발견되는 실수가 많을수록 신뢰는 낮아진다), 충분히 유능한 사람이 만들고 철저히 검토했는가(DO-178C가 높은 개발 보증 수준에 독립 검토를 요구하는 것과 같은 원리), 수작업 증거에는 인력의 경험이, 도구 산출 증거에는 도구 인정(8.8)이 필요한가이다.
8.7.10.2 사례의 수명 — 변경과 모듈
안전 사례는 한 번 작성하고 끝내는 문서가 아니라 유지되는 논증이다. 변경은 세 방식으로 사례에 영향을 준다. 설계 변경은 증거의 관련성을 바꾸고(이전 버전의 시험 증거), 운용 변경은 맥락을 벗어나게 하며, 운용 중 자료는 가정(고장률, 밀도)을 갱신한다. 변경 관리(8.22)와 계속감항(20.23)이 이 갱신의 제도적 틀이고 비행 기록(8.23)이 증거 공급원이다. 모듈 확장은 논증을 하위 시스템 단위로 나누어 변경의 영향 범위를 모듈과 그 사이의 계약으로 제한한다. 공급자가 준 하위 시스템 모듈의 계약(가정·보증)이 통합 논증의 가정과 맞는지 점검하는 일이 시스템 통합(8.3)의 안전 쪽 대응이다.
학습 기반 기능은 이 틀을 시험한다. 요구에서 코드까지의 추적이라는 전통적 증거가 적용되지 않으므로 증거의 성격과 종속성이 바뀐다(7.4·7.8·20.10). 이 장의 6속성이 그 평가 항목이다.
8.7.11 SORA의 종합 안전 포트폴리오(CSP)
JARUS SORA 2.5 본문(원문)의 마지막 단계(4.10, 10단계)는 운용 승인 신청서를 종합 안전 포트폴리오(CSP, Comprehensive Safety Portfolio) 로 묶도록 한다. 원문의 서술은 이렇다. CSP는 "SORA 과정을 사용한 구조화된 논증이고, 증거 묶음이 뒷받침하여 견고한 안전 사례를 이룬다". 포함할 것은 다음이다.
- 확정된 운용 서술(공중·지상 위험 정보를 포함).
- 2~5단계(내재 지상 위험, 지상 위험 완화, 초기 공중 위험 등급, 공중 위험의 전략적 완화)에서 낸 모든 안전 주장과 그 견고성.
- 주장에서 나온 파생 요구: 최종 지상 위험 등급, 잔여 공중 위험 등급, 전술적 완화 성능 요구, SAIL에 연결된 운용 안전 목표(OSO), 봉쇄 요구.
- 적합성 증거: 운용·기술·인원·조직 증거.
- 문서 사이의 연결과 참조. 이것이 CSP를 정당화된 안전 사례로 만든다.
- 주장·파생 요구를 증거에 대응시키는 적합성 대응표.
견고성(robustness)의 구조는 이 장의 확신 개념과 같다. SORA는 견고성을 무결성(완화·목표가 위험을 얼마나 잘 줄이는가)과 보증(그 무결성이 달성되었다는 확실성의 정도)의 조합으로 정의하고, 견고성은 둘 중 낮은 수준과 같다고 한다.
| 낮은 보증 | 중간 보증 | 높은 보증 | |
|---|---|---|---|
| 낮은 무결성 | 낮음 | 낮음 | 낮음 |
| 중간 무결성 | 낮음 | 중간 | 중간 |
| 높은 무결성 | 낮음 | 중간 | 높음 |
보증 수준의 서술은 증거의 성격을 정한다. 낮은 보증은 신청자가 무결성이 달성되었다고 선언하는 것이며 당국은 선언을 검증하고 요청 시 증거를 제출받는다. 중간 보증은 신청자가 증거(통상 시험이나 운용 자료)를 제출하고 당국이 증거의 존재를 확인한다. 높은 보증은 달성된 무결성을 유능한 제3자가 검증하고 당국이 그 보고서를 고려한다. 이 구조는 이 장의 증거 무결성 점검(8.7.10.1)과 같은 생각이다. 증거를 누가 얼마나 독립적으로 확인했는가가 확신의 한 축이다.
8.6의 계산은 CSP의 주장을 구성하는 재료다. iGRC(최대 특성 치수·최대 속도·밀도)는 주장 하나이고, 그 뒤의 계산이 증거다. 이 장 그림의 G4(밀도 한정)와 8.6.5의 허용 밀도 표가 그 연결이다.
8.7.12 설계 트레이드오프 — 어느 수준으로 작성할 것인가
- ① 서술형 문서와 대응표. 운용 승인 서류나 SSA 같은 문서에 주장과 증거를 표로 대응시킨다. 장점은 작성 비용이 낮고 어느 문서든 형식이 익숙하다는 점이다. 단점은 추론과 가정이 암묵적으로 남아 심사자가 논증을 알아내야(산업 고고학) 한다는 점이다. 소형·저위험 운용에 맞다.
- ② GSN으로 구조화. 주장·전략·증거·맥락·가정을 GSN으로 표기하고 단계별 검토를 한다. 장점은 공백과 가정이 눈에 보이고 변경 영향 분석이 쉬워진다는 점이다. 단점은 논증 작성·유지의 노력이 큰 것과, 구조가 있다고 논증이 참이 되지는 않는다는 점이다. 형식증명을 목표로 하는 프로젝트와 새 기술에 맞다.
- ③ 구조화 + 변증·확신 논증(Assurance 2.0식). 무효화 요인을 체계적으로 찾아 기록하고 증거 단계마다 확신 근거를 둔다. 장점은 확증 편향을 구조적으로 줄인다는 점이다. 단점은 비용이 가장 크고 정량 방법이 아직 합의되지 않았다는 점이다. 학습 기반 기능과 높은 위험의 운용에 맞다.
견해: 소형 UAS 사업자도 ①에서 출발하더라도 세 가지는 처음부터 갖춘다: 최상위 주장을 목적으로 한 문장으로 작성하기, 가정과 맥락(운용 한계)을 명시한 목록, 근거 없는 주장(미전개)의 목록. 근거: 이 셋은 작성이 쉽고, 나중에 ②로 올릴 때 가장 비싼 것이 암묵적 가정을 소급해 찾아내는 일이며, 규제 당국이 가장 먼저 묻는 것이 최상위 주장과 운용 한계이기 때문이다. 이 판단은 정성 논거이며 비용 효과를 공개 자료로 확인한 것은 아니다.
8.7.13 세 축 비교
| 항목 | 군용 드론 | 민간 UAS | AAM(eVTOL) |
|---|---|---|---|
| 안전 사례의 근거 | 체계안전 프로그램·군 감항 요구(8.5·12.3) (제도별 확인 필요) | SORA의 CSP(SORA 2.5 본문 4.10) | 형식증명의 적합성 입증과 SSA, 새 기술은 안전 사례 논의(20.6·20.10) |
| 논증의 최상위 주장 | 임무 허용 위험 이내 | TLS 이하(8.6), 운용 승인 목표 | 인증기준의 치명적 고장 조건 확률 목표(8.4) |
| 증거의 독립성 | 군 감항 당국·시험 기관 | 높은 보증이면 유능한 제3자 | 인증 당국·설계 조직 승인(20.3) |
| 수명 관리 | 군 형상 통제, 개조 승인 | 운용자의 운용 한계 변경 신청 | 설계 변경 승인과 계속감항(20.7·20.23) |
| 새 기술(AI) | 군 AI 보증 지침(20.10) | 완화 수단의 견고성 입증 | 보증 표준 논의(20.10) |
8.7.14 관련 규격·프로토콜
| 문서 | 발행 | 무엇을 정하나 | 상세 장 |
|---|---|---|---|
| GSN Community Standard Version 3(SCSC-141C, 2021-05) | SCSC 보증 사례 작업반 | GSN의 표기·의미·작성 지침(원문 확인) | 이 장 |
| JARUS SORA 2.5 본문 4.10(CSP)·견고성 | JARUS | 운용 위험 평가의 구조화된 안전 사례(원문 확인) | 17.17·20.14 |
| OMG Structured Assurance Case Metamodel(SACM) | OMG | 보증 사례의 메타모델. GSN 표준이 관계를 언급 (판 확인 필요) | — |
| ISO/IEC/IEEE 15026-2 | ISO·IEC·IEEE | 시스템·소프트웨어 보증의 보증 사례 (판 확인 필요, 유료) | — |
| UL 4600 | UL | 자율 제품의 안전 평가(안전 사례 기반) (판 확인 필요, 유료) | 7.4 |
| Bloomfield·Rushby, Assurance 2.0 | arXiv:2004.10474v3 | 비무효성 기준, 무효화 요인, 반사례(원문 확인) | 이 장 |
| EASA MOC Light-UAS High Risk.2510-01 | EASA | 안전성 평가의 증거 요구(SSA) | 8.4 |
전체 지도는 A.6에 있다.
8.7.15 관련 규제·인증 요구와의 연결
- 운용 위험 평가(17.17·20.14). CSP가 구조화된 논증과 증거 묶음을 제출물로 요구한다. 보증 수준(낮음·중간·높음)이 증거를 확인하는 주체를 정한다.
- 형식증명(20.5·20.6). 인증기준별 적합성 입증의 증거를 안전 논증이 상위에서 묶고, 가정(독립성, 고장률)이 설계 조직 승인(20.3) 아래 심사 대상이 된다.
- 소프트웨어·하드웨어(8.8·20.9). 개발 보증 수준이 증거의 양과 독립성을 정하고, 도구 인정이 증거 무결성의 일부다.
- 안전관리시스템(20.24). 운영 중 위험 관리와 안전 보증이 사례를 갱신한다.
- 변경과 계속감항(8.22·20.23). 변경 때마다 영향받는 주장과 증거를 다시 확인한다.
- AI 기능(7.4·7.8·20.10). 전통적 증거가 적용되지 않을 때 논증의 포괄성·직접성·관련성이 쟁점이 된다.
8.7.16 함정과 한계
| 오해 | 실제 | 더 볼 곳 |
|---|---|---|
| GSN으로 그리면 안전이 입증된다 | GSN은 주장된 논증을 기록하는 수단이며 참을 확립하지 않는다 | 8.7.3 |
| 증거가 많을수록 확신이 높다 | 종속된 증거는 확신의 과대평가를 낳고, 하위 주장이 늘면 전체 확신은 곱으로 준다 | 8.7.7·0.8.1 |
| 시험이 통과하면 분석은 필요 없다 | 분석과 시험은 서로 독립인 증거이고, 분석이 타당하면 시험 시간이 줄어든다 | 8.7.8.2 |
| 미전개가 있으면 사례가 무효이다 | 숨기지 않고 표시한 미전개는 정직한 한계다. 숨긴 공백이 문제다 | 8.7.5.2 |
| 작성한 팀이 검토하면 충분하다 | 확증 편향 때문에 독립 검토와 변증이 필요하다 | 8.7.9·8.7.10 |
| 한 번 승인되면 끝이다 | 변경·운용 자료·가정 변화로 사례를 유지해야 한다 | 8.7.10.2 |
| 확신의 수치가 인증 근거이다 | 확신의 정량은 논쟁 중이며 이 장의 계산은 가정 예다 | 8.7.8 |
미해결 문제. 확신을 정량화하는 합의된 방법, 증거의 종속성을 입증하는 방법, 학습 기반 기능의 안전 사례에서 증거의 직접성을 정의하는 방법, 큰 사례의 모듈 계약을 도구가 검증하는 방법은 아직 합의되지 않았다 (확인 필요). 논증의 구조화가 심사의 품질과 효율을 높인다는 효과를 공개 자료로 정량화하지는 못했다.
8.7.17 체크포인트·연구 질문
체크포인트:
- 안전 사례의 정의에서 "논증"·"증거"·"정의된 환경과 용도" 세 부분이 각각 무엇을 요구하는지 말하라.
- GSN의 목표·전략·증거 참조·맥락·가정·정당화를 각각 어떤 모양과 서술 규칙으로 작성하는지, 가정과 정당화의 범위가 어떻게 다른지 설명하라.
- "인터록이 장착되어 있다"를 최상위 목표로 세우면 어떤 오류인가. 어떻게 고치는가.
- 각 하위 주장의 확신이 0.95일 때 하위 주장이 12개이면 전체 확신은 얼마이고, 전체 0.9를 얻으려면 각 주장에 얼마가 필요한가.
- 분석이 낙관적이고 타당했을 때와 3배 보수적일 때 시험으로 확신 0.95에 도달하는 무고장 시간이 왜 다른가.
- SORA에서 중간 무결성 증거를 낮은 보증으로 제출하면 견고성은 얼마인가. 그 이유는 무엇인가.
연구 질문(25.7에 모은다):
- 증거의 종속성(공통 원인)을 안전 사례에서 정량적으로 입증하는 방법은 무엇인가.
- 학습 기반 기능의 안전 사례에서 시험·분석·운용 자료의 증거를 어떻게 결합하고 관련성을 판정할 것인가.
- 변증(무효화 요인 탐색)의 효과를 독립 검토와 비교해 측정할 수 있는가.
- 운용 자료로 가정을 갱신하는 살아 있는 안전 사례를 인증 제도가 어떻게 수용할 것인가.
1차 출처(이 장):
- SCSC Assurance Case Working Group, GSN Community Standard Version 3 (SCSC-141C), 2021-05 — 원문을 읽고 정의(0:2.2), 요소와 관계(1:2), 작성 규칙(1:2.3), 여섯 단계(2:3), 오류(2:5·2:6), 평가(2:7), 확신·변증 확장(1:5·1:6·2:11)을 확인. 무료 공개(scsc.uk/SCSC-141C).
- JARUS, SORA Main Body 2.5 (JAR-DEL-SRM-SORA-MB-2.5, 2024-05-13) — 4.10(CSP)과 견고성·보증 수준 절의 원문 확인.
- R. Bloomfield, J. Rushby, "Assurance 2.0: A Manifesto", arXiv:2004.10474v3, 2021-01 — 원문을 읽고 비무효성 기준, 무효화 요인, 확증 편향, 반사례를 확인.
- ISO/IEC/IEEE 15026-2 · UL 4600 · OMG SACM — 이름과 용도만 적었고 내용은 확인하지 못함
(확인 필요).
다음 장: 8.8 — 소프트웨어·하드웨어 보증: DO-178C·DO-254·DO-330. 이 장이 안전 논증에서 "증거의 무결성"과 "개발 보증 수준"을 언급했다면, 8.8은 그 증거를 만드는 개발 활동의 목표를 본다.