소프트웨어 결함이 인명·재산 피해로 이어진 대표 사례 모음. 소프트웨어 테스팅·기능 안전·결함 전파와 소프트웨어 안전 확보의 동기를 제공.
항공·우주·의료 분야
Therac-25 (1985)
방사선 치료기. 동일 SW가 이전 기종(Therac-20, Therac-6)에서 검증되었다는 가정 하에 신기종에 재사용. 경합 조건(race condition)으로 인해 환자에게 정상 치료량의 100배에 달하는 방사선 노출 → 최소 6명 사망·중상.
Ariane 5 (1996.06)
유럽우주국 발사체. 발사 37초 만에 폭발. 64-bit floating-point를 16-bit signed integer로 변환하면서 overflow 발생 → 항법 SW 실패. Backup 시스템도 동일한 SW를 사용해 같은 방식으로 실패.
Redundancy는 만족하지만 Diversity 불만족 — Redundancy와 Diversity 참조.
Boeing 737 MAX (2018-2019)
MCAS(Maneuvering Characteristics Augmentation System) 결함. 단일 받음각(AoA) 센서 입력만 신뢰하여 비정상적으로 기수를 누르는 동작 반복 → 라이온에어 610편(2018), 에티오피아 항공 302편(2019) 추락 (총 346명 사망).
자동차 분야
Toyota Lexus ES 350 / Camry — 의도하지 않은 가속 (2007-2009)
급발진 사고. 원인:
- 코딩 규칙 위반 (MISRA-C 등 산업 표준 미준수)
- Watch Dog 미구현으로 SW가 응답 불가 상태에 빠져도 복구 메커니즘 부재
→ 미국 도로교통안전국(NHTSA)·NASA 조사로 SW 품질 문제 지적. 합의금 12억 달러.
Tesla Model X — 중앙분리대 추돌 (2018.03)
캘리포니아 마운틴뷰. Autopilot 활성 상태에서 차선 인식 구분 오류로 갈라지는 차선 사이 콘크리트 분리대에 충돌 → 운전자 사망.
Uber Volvo XC90 — 보행자 추돌 (2018.03)
애리조나 템페. 자율주행 시험 차량. 보행자 식별 오류(분류 알고리즘이 보행자를 자전거·미상 객체 등으로 반복 재분류) → 보행자 사망. 자율주행 차량의 첫 보행자 사망 사고.
Tesla Model 3 — 트럭 추돌 (2020.01)
플로리다. Autopilot 활성 상태에서 사고난 (정지 상태) 트럭의 식별 오류 → 충돌 사망.
공통 교훈
| 교훈 | 관련 컨셉 |
|---|---|
| 단일 센서·단일 SW에 의존하면 동시 실패 | Diversity Design |
| 센서 입력의 유효성 미검증 | 센서 유효 영역 검사 |
| 코딩 표준 미준수 | 코딩 표준 (MISRA-C) |
| Watch Dog 등 안전 메커니즘 누락 | 기능 안전 |
| 분류·인식 알고리즘의 한계 (정상 동작이지만 한계) | SOTIF |
| 출시 후 결함 수정의 막대한 비용 | 눈덩이 효과 |