Skip to main content
QUICK REVIEW

[논문 리뷰] Cast: Automated Resilience Testing for Production Cloud Service Systems

Zhuangbin Chen, Zhiling Deng|arXiv (Cornell University)|2026. 02. 01.
Software System Performance and Reliability인용 수 0
한 줄 요약

Cast는 포괄적인 애플리케이션 수준의 오류 라이브러리를 활용하여 생산 트래픽을 재생함으로써 생산 마이크로서비스 시스템의 회복력 테스트를 위한 자동화된 엔드투엔드 프레임워크를 제공하며, 복잡성 주도 테스트 선택 전략과 자동화된 다면적 검증에 의해 안내된다.

ABSTRACT

The distributed nature of microservice architecture introduces significant resilience challenges. Traditional testing methods, limited by extensive manual effort and oversimplified test environments, fail to capture production system complexity. To address these limitations, we present Cast, an automated, end-to-end framework for microservice resilience testing in production. It achieves high test fidelity by replaying production traffic against a comprehensive library of application-level faults to exercise internal error-handling logic. To manage the combinatorial test space, Cast employs a complexity-driven strategy to systematically prune redundant tests and prioritize high-value tests targeting the most critical service execution paths. Cast automates the testing lifecycle through a three-phase pipeline (i.e., startup, fault injection, and recovery) and uses a multi-faceted oracle to automatically verify system resilience against nuanced criteria. Deployed in Huawei Cloud for over eight months, Cast has been adopted by many service teams to proactively address resilience vulnerabilities. Our analysis on four large-scale applications with millions of traces reveals 137 potential vulnerabilities, with 89 confirmed by developers. To further quantify its performance, Cast is evaluated on a benchmark set of 48 reproduced bugs, achieving a high coverage of 90%. The results show that Cast is a practical and effective solution for systematically improving the reliability of industrial microservice systems.

연구 동기 및 목표

  • 복잡하고 비결정적인 실패로 인한 생산 등급의 마이크로서비스 시스템에서 회복력 테스트의 필요성을 제시한다.
  • 현실적인 애플리케이션 수준의 오류로 실시간 트래픽을 재생하여 높은 충실도를 달성하는 엔드투엔드 프레임워크를 개발한다.
  • 중복 테스트를 제거하기 위한 복잡성 주도 테스트 선택 전략을 통해 확장성을 다룬다.
  • 세 단계 파이프라인과 다면적 검증 오라클로 테스트 수명주기를 자동화한다.
  • 대규모 Huawei Cloud 배포와 통제된 벤치마크 평가를 통해 실제 세계의 효과를 입증한다.

제안 방법

  • 동적 계측을 사용하여 생산 트래픽을 포착하고 재생 가능하게 재생 트레이스를 매개변수화된 동적 변수와 함께 생성한다.
  • 요청/응답 페이로드에서 상태 의존 변수 식별을 위한 2단계 휴리스틱을 적용하고 재생을 위한 자리 표시자로 대체한다.
  • Drain으로 트레이스를 집계하여 뚜렷한 인터페이스를 식별하고 대상 테스트 선택을 위한 인터페이스별 복잡도 점수를 계산한다.
  • 세분화된 엔드포인트에 주입된 플랫폼 구성 요소 예외 및 서비스 간 커뮤니케이션 오류를 모델링하는 확장 가능한 오류 라이브러리 구축.
  • 엔드포인트를 (Component, Framework, Method)로 정의하고 교차 서비스 샘플링, 트레이 간 제거, 데이터 흐름 우선 순위를 통해 테스트를 축소하기 위해 데이터 흐름 의존성 패턴을 사용한다.
  • 시작, 오류 주입, 회복의 세 단계 파이프라인에서 실패 조기 전략과 배치 테스트로 시작 오버헤드를 최소화하고, 단계 간 및 주장 지점에 걸친 다면적 검증 오라클을 제공하며 테스트를 실행한다.

실험 결과

연구 질문

  • RQ1RQ1: 동적 변수를 식별한 후 기록된 생산 트래픽을 재생 가능하게 만드는 Cast의 효과는 어느 정도인가?
  • RQ2RQ2: 생산 마이크로서비스 시스템에서 회복력 취약점을 자동으로 발견하는 Cast의 효과는 어느 정도인가?

주요 결과

  • Cast는 291개의 인터페이스 추적 중 286개를 재생했고, 동적 변수 템플릿화 후 재생 성공률은 98.3%로, 순진한 재생의 80% 미만과 비교해 우수했다.
  • 동적 변수 식별 방법은 대부분의 인터페이스에서 상태 의존성을 효과적으로 처리하며, 5개의 엣지 케이스는 수동 변수 등록이 필요했다.
  • 8개월간의 Huawei Cloud 배포에서 Cast는 4개의 대규모 애플리케이션에 걸쳐 137개의 잠재적 취약점을 발견했고, 개발자에 의해 89개가 확인되었다.
  • 48개의 재현된 버그에 대한 통제된 벤치마크에서 Cast는 90% 탐지 커버리지를 달성했다.
  • Cast는 산업용 마이크로서비스 환경에서 체계적으로 신뢰성을 개선하는 실용적 효과를 입증했다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.