[Paper] SafePlanner: 자동운전 시스템 계획 모델의 안전성 테스트

발행: (2026년 1월 14일 오후 02:14 GMT+9)
10 min read
원문: arXiv

Source: arXiv - 2601.09171v1

개요

SafePlanner은 자동 운전 시스템(ADS)의 planning 구성 요소에서 안전‑중요 버그를 자동으로 발견하는 새로운 테스트 프레임워크입니다. 플래너의 소스 코드를 분석해 현실적인 주행 시나리오를 생성하고, 플래너의 결정을 퍼즈‑테스트함으로써, 저자들은 기존 시뮬레이션이나 실제 도로 테스트로는 찾기 매우 어려운, 생산‑급 Level‑4 시스템(바이두 Apollo)에서 숨겨진 위험을 드러냈습니다.

주요 기여

  • 구조적 시나리오 생성 – 플래너의 제어 흐름 그래프에서 직접 실행 가능한 장면‑전이 쌍을 추출하여, 생성된 모든 테스트 케이스가 플래너의 내부 논리를 준수하도록 보장합니다.
  • 플래너 행동에 대한 가이드형 퍼징 – 추출된 전이와 다양한 NPC(비플레이어 차량) 행동을 결합하고, 커버리지 인식 퍼징을 사용해 플래너의 의사결정 공간을 효율적으로 탐색합니다.
  • 포괄적인 커버리지 메트릭 – Plan 모델에서 83.6 % function 및 63.2 % decision 커버리지를 달성하여, 기본 무작위 또는 단순 시나리오 생성기보다 훨씬 뛰어납니다.
  • 실제 버그 발견 – Baidu Apollo에서 520개의 위험 행동을 식별하고 이를 15개의 근본 원인 카테고리로 정리했습니다; 그 중 네 가지에 대한 패치를 적용해 부작용 없이 버그를 제거했습니다.
  • 확장 가능한 테스트 스위트 – 자동으로 20 k 이상 테스트 케이스를 생성하여, 체계적인 코드 기반 시나리오 합성이 대규모 생산‑수준 플래너에도 확장 가능함을 보여줍니다.

Methodology

  1. Static structural analysis – 프레임워크는 플래너의 소스 코드를 파싱하여 scene‑transition graph를 구축합니다. 이 그래프는 플래너가 고수준 주행 컨텍스트(예: “차선 따라가기”, “병합”, “정지”) 사이를 어떻게 이동하는지를 포착합니다.
  2. Feasible transition extraction – 이 그래프에서 SafePlanner는 플래너의 계층적 제어 흐름에 따라 실제로 도달 가능한 구체적인 scene‑transition 쌍을 추출합니다.
  3. Scenario composition – 각 전환은 NPC 차량 행동 집합(속도 프로파일, 차선 변경, 끼어들기 등)과 결합되어 완전한 주행 시나리오를 형성합니다.
  4. Guided fuzzing – 커버리지 기반 퍼저가 NPC 파라미터와 타이밍을 변형하면서 플래너의 내부 의사결정 분기를 모니터링합니다. 퍼저는 function 또는 decision 커버리지를 증가시키는 입력을 우선시하여 탐색을 아직 조사되지 않은 플래너 로직 쪽으로 유도합니다.
  5. Hazard detection – 각 실행 후 시스템은 경량 런타임 모니터를 사용해 안전 위반(예: 충돌, 근접 회피, 불법 조작)을 검사합니다. 감지된 위반은 수동 근본 원인 분석을 위해 로그에 기록됩니다.

전체 파이프라인은 시뮬레이션에서 실행되며, 플래너 코드와 표준 차량 동역학 시뮬레이터만 있으면 됩니다.

결과 및 발견

측정항목SafePlanner기준
생성된 테스트 케이스20 6358 412 (random)
발견된 위험 행동520127
함수 커버리지83.6 %61.2 %
결정 커버리지63.2 %38.5 %
적용된 패치(검증됨)4
  • 520개의 위험 상황은 15개의 서로 다른 근본 원인으로 군집화되었으며, 차선 변경 로직에서의 누락된 엣지‑케이스 검사부터 갑작스러운 NPC 감속 처리 오류까지 다양합니다.
  • 가장 중요한 버그 네 가지를 수정한 후, 플래너는 전체 테스트 스위트에서 회귀가 전혀 발생하지 않음을 보였으며, 이는 패치가 새로운 문제를 도입하지 않았음을 확인시켜 줍니다.
  • SafePlanner의 가이드된 퍼징은 동일한 커버리지 수준을 달성하는 데 ≈30 % 적은 CPU 시간을 사용했으며, 이는 전면적인 무작위 테스트보다 효율적이었습니다.

실용적인 시사점

  • 가속화된 안전 검증 – 개발자는 SafePlanner를 CI 파이프라인 초기에 통합하여 도로 테스트 전에 플래너 버그를 포착할 수 있으며, 비용이 많이 드는 현장 시험을 크게 줄일 수 있습니다.
  • 규제 준수 – 체계적인 커버리지 메트릭은 안전 감사에 대한 구체적인 증거를 제공하며 ISO 26262 또는 UNECE R157과 같은 표준을 충족하는 데 도움이 될 수 있습니다.
  • 신속한 회귀 테스트 – 플래너가 업데이트될 때(예: 새로운 인식 모듈 또는 지도 데이터), SafePlanner는 관련 시나리오를 자동으로 재생성하여 이전 안전 보장이 유지되도록 합니다.
  • 크로스 플랫폼 적용 가능성 – 이 접근 방식은 정적 코드 분석 및 일반 시뮬레이션 API에 기반하므로 최소한의 노력으로 다른 ADS 스택(예: Autoware, Tesla Autopilot)에도 적용할 수 있습니다.
  • 개발자 생산성 – 구체적인 근본 원인 카테고리를 드러냄으로써 프레임워크는 엔지니어가 가장 영향력 있는 코드 영역으로 안내하고, 디버깅 노력을 가장 중요한 부분에 집중하도록 돕습니다.

제한 사항 및 향후 작업

  • 소스 코드에 대한 의존성 – SafePlanner는 플래너 구현에 대한 접근이 필요합니다; 블랙‑박스 또는 독점 플래너는 직접 분석할 수 없습니다.
  • 시뮬레이션 정확도 – 생성된 시나리오는 구조적으로 유효하지만, 여전히 기본 차량 동역학 시뮬레이터에 의존합니다; 실제 물리와의 불일치는 특정 버그를 숨길 수 있습니다.
  • 근본 원인 분석의 확장성 – 520개의 위험을 15개 카테고리로 수동 클러스터링하는 것은 노동 집약적입니다; 향후 작업에서는 자동 결함 위치 파악 기법을 도입할 수 있습니다.
  • 인식‑플래닝 상호작용으로의 확장 – 현재 초점은 오직 플래닝 모듈에만 맞춰져 있습니다; 인식 불확실성을 통합하면 보다 전체적인 안전 평가를 제공할 수 있습니다.

SafePlanner는 코드 중심, 커버리지 기반 테스트 전략이 현대 자동 운전 플래너의 안전 보증을 크게 향상시킬 수 있음을 보여주며, 신뢰할 수 있는 Level‑4+ 시스템을 출시하려는 개발자를 위한 실용적인 도구 세트를 제공합니다.

저자

  • Dohyun Kim
  • Sanggu Han
  • Sangmin Woo
  • Joonha Jang
  • Jaehoon Kim
  • Changhun Song
  • Yongdae Kim

논문 정보

  • arXiv ID: 2601.09171v1
  • 분류: cs.SE
  • 출판일: 2026년 1월 14일
  • PDF: PDF 다운로드
Back to Blog

관련 글

더 보기 »