[구태완 테크 칼럼] Safety Analysis: 귀납적 vs. 연역적 안전분석
Safety Analysis: Inductive vs. Deductive
2026년 03월호 지면기사  /  글│구태완 책임연구원·공학박사, 현대자동차 R&D본부


Safety Analysis: 귀납적 vs. 연역적 안전분석
 
안전 전문가이자 책임 있는 엔지니어로서 안전분석 결과를 올바르게 바라보기 위해서는, 이 분석을 통해 새롭게 보게 된 위험은 무엇이며, 그 결과 실제로 줄였다고 말할 수 있는 사고 가능성은 무엇인가를 명확히 답할 수 있을 때, 귀납적 방법론과 연역적 방법론에 매몰되지 않고 실질적인 안전 능력을 함양할 수 있을 것이다.

글│구태완 책임연구원·공학박사, 현대자동차 R&D본부





“안전분석, 절차보다 시선이 먼저다: Inductive와 Deductive의 철학”

최근 다녀온 해외출장은 안전분석을 어떻게 수행해야 하는지에 대해 여러 가지 생각을 던져주는 계기가 되었다. 
회의실에서는 ISO 26262 기반의 각종 프로세스와 템플릿, 체크리스트와 리뷰 결과가 나름(?) 잘 정리되어 있었다. 또한 귀납적 안전분석과 연역적 안전분석도 “조직 내에서 준수해야 할 절차”로 잘 자리잡고 있었다. 겉으로만 보면, 그 조직은 “안전분석을 충실히 수행하고 있다”고 평가해도 무방해 보였다. 그러나 논의가 진행됨에 따라 한 가지 불편한 점이 있었고, 그 불편함은 시간이 흐름에 따라 점차 분명해졌다. 다시 말해 회의실에서 주고받은 안전분석에 관한 논의가 “무엇을 위해 분석하는가”가 아니라, “어떤 형식으로, 어떤 양식을, 어떤 규칙으로 채우는가”에 매몰되고 있었다는 점이다. 특히 “귀납적(Inductive) 분석 = FMEA", "연역적(Deductive) 분석 = FTA”라는 공식에 너무 매몰되어, 마치 귀납은 곧 FMEA이고, 연역은 곧 FTA인 것처럼 사고가 고정되어 있는 모습을 곳곳에서 보게 되었는데, 이 틀에 갇힌 시선은 안전분석의 본래 목적을 흐리게 할 위험이 있다고 느꼈기 때문이다.

"안전분석은 설계 단계에서 발생 가능한 위험을 사전에 분석·예측하여 안전을 저해하는 심각한 사고를 예방하는 것"을 목적으로 한다. 또한 귀납적·연역적 방법론은 그러한 목적을 달성하기 위한 도구로 도입된 것이지 방법론 자체가 목적이 된 것은 아니다. 그럼에도 “안전분석으로서 귀납적 분석은 FMEA를 수행해야 하고, 연역적 분석은 FTA만을 수행해야 한다"라는 식의 고정된 프레임이 자리잡으면, 진짜 중요한 위험은 "방법론 기반의 문서화"에 뒤덮여 본래 안전분석의 목적을 달성할 수 없을 수도 있다.

이 글에서는 inductive(귀납적)와 deductive(연역적) 방법론을 절차가 아닌 ‘시선과 철학’의 문제로 다시 바라보자는 이야기를 하고 싶다. 

 
1. 방법론의 틀에 갇힌 안전분석의 위험

대개는 일정 수준의 성숙도를 갖는 조직일수록 안전분석에 관한 프로세스와 관련 문서가 잘 갖추어져 있다. 또한 HARA (Hazard Analysis and Risk Assessment), FMEA (Failure Mode and Effect Analysis), FTA (Fault Tree Analysis), FMEDA (Failure Mode, Effect and Diagnostic Analysis) 등 여러 기법이 필요에 따라 할당되고, 각 단계별 템플릿과 산출물이 정의되어 있다. 물론, 이러한 정형화된 구조·형식은 분명 필요하다. 하지만 문제는 이 구조·형식이 어느 순간부터 “목적”이 아니라 “그 자체로 (마치 구조가 본질인 것처럼) 완결된 목표”처럼 취급되고 있다는 점이다. 

출장지에서 논의된 주요 논점은 다음과 같다. 
 
귀납적 안전분석은 FMEA로, 연역적 안전분석은 FTA로 수행되어야 한다. 이것이 가장 직관적이고 편리한 안전분석 수행 확인 방법이다.  

 
하지만 이 논점에서 우리가 놓치고 가는 부분이 있다고 느껴졌다. 
 
귀납적 안전분석과 연역적 안전분석을 통해 무엇을 새롭게 이해했고, 어떤 위험을 실제로 줄였는가?
 

즉 안전분석 기법, 그 방법론에만 집중하는 순간 안전분석은 단순한 “문서 작성 활동”으로 그 의미가 퇴색되고 만다. 한마디로, FMEA 테이블에 적힌 Failure Mode의 개수나 FTA에서 게이트가 얼마나 복잡하게 그려져 있는지만으로 안전분석 결과를 평가한다면, 정작 “우리가 놓쳤던 위험을 발견했는지”, “우리가 막연하게 두려워하던 위험의 구조를 명확히 이해하게 되었는지”와 같은 본질적인 질문은 뒷전으로 밀려날 수밖에 없다. 
이는 단순한 비효율을 넘어 실제 사고(Accident)로 이어질 수 있는 근본적 취약점을 가진다. 문서상으로는 모든 절차를 충족했지만, 실질적 위험은 적절히 포착되지 않았을 수도 있기 때문이다. 따라서 귀납적·연역적 방법론을 언급할 때, 우리는 항상 “어떤 절차를 택할 것인가?”보다 “어떤 시선을 가질 것인가?”를 먼저 살펴봐야 할 것이다.

 
2. 귀납적 방법론 - "모든 구성요소는 언젠가 고장 날 수 있다"는 겸손

2.1. ‘귀납적’의 철학적 가치
귀납적 방법론에는 한 가지 전제가 있다.
 
“시스템을 구성하는 모든 요소는 다양한 방식으로 고장(Failure)이 발생할 수 있으며, 우리는 모든
고장을 아직 충분히 이해하지 못한다.”
 
 

따라서, 이 전제를 수용하면 분석의 출발점이 달라진다. 즉, 안전분석의 출발이 특정 사고(Accident)나 안전 목표(Safety Goal)에서 시작하는 것이 아니라, 구성요소와 기능 하나하나를 정의하는 것에서 출발하게 된다.

가령 자동차 제동 제어 시스템을 예로 들면 다음과 같은 구성요소와 기능들이 있다.
  • 브레이크 페달 입력 센서
  • 휠 속도 센서 및 차체 가속도 센서
  • 유압 펌프, 밸브, 모터 등 제동 액추에이터
  • 제동 ECU 하드웨어 및 소프트웨어
  • 상위 ADAS 기능으로부터의 제동 요구 신호
  • 전원, 통신 네트워크, 접지 및 EMC 환경 등 
그런 다음 엔지니어는 귀납적 관점에서 각각에 대해 다음과 같은 질문을 던진다. (Failure Mode 가정)
  •  이 센서가 고정값으로 붙는다면, 혹은 노이즈가 과도하게 증가한다면?
  • 이 밸브가 열리지 않거나 반대로 닫히지 않는다면?
  • 이 소프트웨어 모듈이 특정 경계 조건에서 오버플로를 일으킨다면?
  • 이 통신 메시지가 지연 또는 소실되거나 타이밍이 꼬여 순서가 바뀐다면? 
그리고 이러한 Failure Mode를 하나씩 가정하고, 
  • 로컬 수준에서의 영향
  • 제어 시스템 수준에서의 영향
  • 차량 동역학과 운전자 체감
  • 나아가 교통 환경 전체에서의 안전 영향
등을 위로 끌어올려 평가하는 흐름이 귀납적 분석의 골격이다. 통상적으로 FMEA가 이 역할을 수행하는 대표적인 도구인 것은 맞다. 

그러나 진짜 중요한 것은 도구 자체보다 여기에 내포된 시선과 태도라고 생각한다.
  • "이 정도 고장은 발생하지 않을 것”이라는 섣부른 단정 대신, "고장" 자체를 바라보는 시선과 “만약 고장이 발생한다면 어디까지 위험이 전달되는가?”를 묻는 태도
  • “이 기능은 단순하므로 분석할 필요가 없다”는 안일함 대신, "간과하는 고장"에 집중하는 시선과 “단순해 보이는 기능일수록 간과된 인터페이스가 없는가?”를 탐색하는 태도
  • “우리가 정의한 Failure Mode 목록이 충분한가?”를 스스로 의심하는 습관 

즉, 귀납적 방법론이 안전 엔지니어에게 요구하는 가치는 다음과 같이 정리할 수 있을 것이다.
 
 “모든 것은 언젠가 예상하지 못한 방식으로도 망가질 수 있다”는 겸손을 전제로, 가능한 많은 고장의 패턴을 상상하고 그 파급효과를 끝까지 따라가 보는 집요함이다. 
 

2.2. 제동 제어에서의 구체적 시선
예를 들어, 고속도로에서 100 km/h로 주행 중인 차량에서 한쪽 휠 속도 센서가 실제보다 낮은 속도 값을 센싱하여 ECU로 송신했다고 가정해 보자.

귀납적 관점의 질문은 다음과 같이 이어진다. 
  • 제동 제어 로직은 이 신호를 어떻게 해석하는가?
  • 한쪽 휠 속도 값이 상대적으로 “느리다”고 판단할 경우, 제동 제어기는 휠 슬립으로 오인하여 불필요하게 해당 휠의 제동력을 해제하거나 다른 휠에 보상 제동을 가하지는 않는가?
  • 이런 제어가 주행 환경(차선 변경, 코너 진입, 노면 편차 등)과 결합하면, 차량은 운전자의 의도와 다른 방향으로 쏠리거나 예측하기 어려운 제동감을 제공하지 않는가?
  • 이러한 현상이 반복되거나 특정 시나리오에서 겹치면, 실제 사고 가능성으로 어떻게 전이될 수 있는가? 
여기서 핵심은 ‘휠 센서 하나 고장’이 아니라, 그 하나의 고장이 차량 레벨의 위험으로 상승하는 경로를 상상하고 추적하는 능력과 역량이다. 하지만 단순히 FMEA 템플릿의 빈칸을 채우는 작업에 머무르면 이 고장 전이 경로는 쉽게 놓치게 된다. 반대로, 귀납적 철학과 가치를 제대로 인식하고 있다면 같은 템플릿 안에서도 훨씬 밀도 있는 위험 인식이 축적된다. 


3. 연역적 방법론 – “이 사고만큼은 절대 허용할 수 없다”는 집요한 집중

3.1. ‘연역적’의 철학적 가치 
연역적 방법론은 귀납적 방법론과는 다른 전제에서 출발한다.
 
"우리는 모든 위험을 다 다룰 수 없다. 그러나 몇 가지 사고만큼은 절대로 허용할 수 없다."
 

따라서 분석의 출발점이 구성요소가 아니라 사고(Accident) 시나리오에서 출발한다.

제동 제어를 예를 들면 제동 제어에서 민감하게 바라보는 대표적인 Top Event를 두 가지로 정리해 볼 수 있다. 
  • 운전자가 브레이크를 강하게 밟았음에도 차량이 충분히 감속하지 않는 경우(불충분한 제동)
  • 운전자가 브레이크를 밟지 않았음에도 차량이 강하게 제동되는 경우(의도치 않은 차량 급제동) 
둘 모두 고속 주행 상황에서 치명적인 결과로 이어질 수 있는 사고이다. 따라서, 연역적 관점에서는 이러한 사고를 Safety Goal 위반의 대표 사례로 두고, 그 발생 조건과 구조를 분석의 중심에 둔다.

3.2. 사고(Accident) 구조를 이해한다는 것 
예를 들어 두 번째 사고, 즉 “의도치 않은 차량 급제동”을 Top Event로 설정해 보겠다. 이 사고가 일어나기 위해서는 여러 계층의 조건이 결합해야 한다.
  • 제동 ECU가 운전자 입력과 무관하게 제동 명령을 계산·출력하는 경우
  • 상위 ADAS에서 잘못된 장애물 인식 혹은 충돌 예측을 근거로 과도한 제동 요구를 지속적으로 보내는 경우
  • 센서 조합과 도로 환경(그림자, 차선 패턴, 전방 구조물)이 실제와 다른 위험 상태로 인식되는 경우
  • 유압 계통 또는 모터 구동부가 전기적 명령 없이도 물리적으로 Stuck 되는 경우
  • 이러한 상태를 감지하고 차단할 수 있는 진단·모니터링 장치가 부재하거나 비효율적인 경우 
연역적 방법론은 이 다양한 원인 후보들을 단순 나열하는 데서 멈추지 않고 논리 구조로 조직화할 수도 있다. Top Event에서 시작해 중간 사건을 AND·OR 게이트로 분해하고, 각 가지 끝에는 개별 고장, 설계 결함, 진단 실패와 같은 Basic Event가 놓인다.

이때의 목표는 단지 “규정된 FTA를 완료하는 것”이 아니라 다음과 같은 상태에 도달하는 것이다. 
  • 이 사고가 어떤 조합의 조건에서 성립하는지, 엔지니어 스스로가 납득할 수 있게 설명할 수 있는 상태
  • 어떤 Basic Event를 제거하거나 어떤 구조를 변경했을 때, 사고 발생 가능성이 어떻게 변화하는지 논리적으로 논의할 수 있는 상태
  • 설계, 진단, 검증 전략이 “문서상 요구”가 아니라 사고(Accident) 구조에 직접 대응하도록 설계할 수 있는 상태
즉, 연역적 방법론의 철학은 다음과 같이 요약할 수 있다.
 
"용납 불가한 사고를 명확히 선언하고, 그 사고가 성립하는 인과 구조를 끝까지 추적하여 설계와 진단, 검증을 통해 그 구조를 의도적으로 붕괴시키는 것”이다. 


4. 절차 중심 접근이 만드는 구조적 한계

문제는 이러한 귀납적·연역적 방법론 자체 또는 절차 중심의 접근 자체에 매몰될 때 발생한다. HARA, FMEA, FTA 등 다양한 안전분석 결과가 각각 독립적인 문서로만 존재하고 서로 간의 논리적 연결이 느슨하면, 안전분석은 쉽게 안전과 무관하게 "문서”로만 인식된다.

그런데 이렇게 안전과 무관한 "문서"로만 인식될 때 만약 다음과 같은 질문이 던져지면 곤란해지기 시작한다.
  • 실제 필드에서 발생한 특정 제동 관련 사고가 기존 HARA·FMEA·FTA 체계에서 어떻게 다뤄졌어야 하는가?
  • 우리가 FMEA에서 정의한 Failure Mode들이 어떤 Safety Goal 및 사고 시나리오와 구체적으로 연결되어 있는가?
  • FTA에서 도출한 최소 컷셋과 FMEA의 Failure Mode, 실제 시험 케이스는 서로 어떻게 추적 가능하게 연결되어 있는가?
만약 이 질문에 대한 답이 문서를 여러 번 뒤져도 나오지 않는다면, 그 조직의 안전분석은 형식적 완결성은 갖추었지만 논리적 일관성은 확보되지 않은 상태일 가능성이 높다.

그렇다고 이 상황에서 안전분석 기법(연역적 또는 귀납적)을 하나 더 추가하는 것만으로는 해법이 될 수 없다. 오히려 분석의 목적이 더 희석될 위험이 있다. 필요한 것은 새로운 절차나 방법론이 아니라, 기존 방법론을 관통하는 시선과 철학을 명확히 하는 것이다.
  • 귀납적 분석이라면 “어떤 새로운 failure 시나리오를 발견했는가?”
  • 연역적 분석이라면 “어떤 사고(Accident) 구조를 처음부터 명료하게 이해하게 되었는가?”
이 질문에 스스로 답해 보지 않으면 FMEA와 FTA 수행은 단순히 템플릿의 빈칸을 채우는 무의미한 역할일 뿐 안전분석의 목적 달성과는 무관한 활동으로 전락하게 될 것이다.


5. STPA – 실패한 부품이 아니라 실패한 제어를 보는 관점

참고로 STPA에 대해 간략히 짚어본다. STPA(System-Theoretic Process Analysis)는 전통적인 failure 중심 기법과는 다른 축에 서 있다. STPA는 개별 부품의 고장 자체보다 시스템 전체의 제어 구조와 안전 제약(Safety Constraints)에 초점을 둔다.

(상세한 내용은 별도로 정리된 포스팅을 참고해 주시기 바랍니다)
2025.01.31 - [System Engineering/SE Methodology] - STPA: 시스템 안전분석 - (1) 분석 목적 정의

STPA의 출발점은 다음과 같은 질문이다.
  • “우리가 절대 허용할 수 없는 손실(Loss)과 Hazard는 무엇인가?”
  • “그 손실과 Hazard를 방지하기 위해 시스템이 반드시 지켜야 할 제약 조건은 무엇인가?"
이 질문들은 분명 연역적 특성을 가진다. L(Hazard, Loss) 수준에서 시작해 시스템, 서브시스템, 제어 루프 방향으로 내려가기 때문이다.

동시에 STPA는 각 제어 동작(Control Action)에 대해 추가적인 질문을 던진다.
  • 이 제어가 필요한데 수행되지 않을 경우 언제 Hazard를 유발하는가?
  • 이 제어가 필요하지 않은데 수행될 경우 어떤 상황에서 위험해지는가?
  • 제어가 너무 늦거나 너무 이르게 수행될 때 어떤 사고 시나리오가 발생할 수 있는가?
  • 제어 강도나 지속 시간이 부적절할 때 시스템은 어떻게 위험 상태로 이행하는가?
이 질문에 답하기 위해서는 센서·소프트웨어·사람·조직·절차·환경 요인을 모두 고려한 다양한 Causal Scenario를 폭넓게 상상해야 하는데, 이는 전형적인 귀납적 특정이라고 볼 수 있다.

따라서 STPA는 다음과 같이 이해할 수 있다.
 
"Top-level 손실과 Hazard를 기준으로 사고를 정의하고(연역적 출발), 시스템 제어 구조 전반에서 그 사고를 유발할 수 있는 다양한 제어 실패 시나리오를 발굴하는(귀납적 확장) 시스템 이론 기반 안전분석 기법"이다. 

 
STPA의 가치는 FMEA나 FTA와 같이 별도의 “추가 문서”를 하나 더 만드는 데 있지 않다. STPA의 가치는 “우리가 실패한 부품만 보는지, 아니면 실패한 제어와 깨진 제약까지 함께 보는지”를 스스로 점검하게 한다는 데 있다.

결국 FMEA가 “무엇이 어떻게 망가지는가?”를 묻는다면, FTA는 “그 망가짐이 어떻게 특정 사고를 구성하는가?”를, STPA는 “왜 그 순간에 적절한 제어가 이루어지지 않았는가?’를 묻는다.


마치며

출장에서 돌아오는 비행기 안에서 문득 질문이 떠올랐다. 
“지금까지 작성해 온 수많은 FMEA, FTA, 각종 안전분석 문서 중에서 실제로 현장에서 발생할 수 있는 위험을 줄였다고 자신 있게 말할 수 있는 분석은 얼마나 될까?” 
이 질문에 솔직하게 답하기 위해서는 안전분석의 형식에 매몰되지 말고 안전분석의 본질과 목적에 입각하여 결과를 바라봐야 할 것이다. 즉, 귀납적 방법론의 본질과 목적은 다음과 같다.
 
시스템을 완전히 이해하고 있다고 생각하지 말고, 가능한 많은 고장 모드와 시나리오를 상상하고, 각 failure가 어떤 경로로 위험을 키우는지 꼼꼼히 살펴 위험의 예방·감지 방안을 수립하는 것이다. 
 

또한 연역적 방법론의 본질과 목적은 다음과 같다.
 
모든 위험을 다 다룰 수는 없다. 그러나 이 몇 가지 사고(Accident) 또는 안전목표 위배 만큼은 절대 허용할 수 없다.
따라서 사고(Accident) 또는 안전목표를 위배하는 구조를 논리적으로 추적하고, 설계·진단·검증 대책을 수립하는 것이다.


결국 중요한 것은 “FMEA를 했는가, FTA를 그렸는가, STPA 보고서를 제출했는가”가 아니다. 안전분석 결과를 올바르게 바라보기 위해 중요한 다음 두 질문에 적절한 답을 가지고 있는가이다. 
  • 우리는 이 분석을 통해 어떤 위험을 새롭게 보게 되었는가?
  • 그 결과 어떤 사고 가능성을 실제로 줄였다고 말할 수 있는가?
이 질문에 안전 전문가이자 책임 있는 엔지니어로서 올바른 답을 할 수 있을 때, 귀납적 방법론과 연역적 방법론에 매몰되지 않고 충실한 안전 능력(Capability)을 함양할 수 있다고 믿는다.  - END -



 필자 소개 
구태완 박사는 복잡한 기술 개념을 더 많은 이들과 나누기 위해 블로그에 꾸준히 글을 올리고 있다. 시스템공학과 소프트웨어, 자동차 기술 분야에서 축적한 경험을 쉽게 풀어 전달하며, 현장의 사고방식과 실용적 관점을 공유하는 것이 그의 글쓰기 목적이다.




[이미지=OpenAI ChatGPT (AI 생성)]


 
이전글 보기 >>
OWL 온톨로지란 무엇인가?
GORE: What보다는 Why에 집중한 요구사항 분석


[AEM] Automotive Electronics Magazine


<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>


  • 100자평 쓰기
  • 로그인



TOP