본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 06. 18. 11:47

교차 계층 제약 조건을 통한 딥러닝 파이프라인 내 컴파일러-플랫폼 상호작용 버그 탐색

요약

딥러닝 컴파일러와 하드웨어 플랫폼 간의 상호작용에서 발생하는 버그를 탐색하기 위한 새로운 테스트 프레임워크 XCheck를 제안합니다. 풀스택 제약 조건을 활용하여 기존 방식이 놓치기 쉬운 컴파일러-플랫폼 간의 불일치를 자동으로 탐지합니다.

핵심 포인트

  • 컴파일러-플랫폼 상호작용 버그를 탐지하는 자동화된 프레임워크 XCheck 제안
  • 풀스택 제약 조건 도출을 통해 모델 생성 및 컴파일 동작 최적화
  • 동작 등가 분할을 위한 자동 어설션 삽입 기술 적용
  • 실제 DL 컴파일러에서 메모리 및 정수 오버플로 등 2,034개 버그 발견

인공지 Intelligence (AI)의 배포가 증가함에 따라 TVM 및 ONNX-MLIR과 같은 견고한 딥러닝 (DL) 컴파일러가 필수적으로 요구되고 있습니다. 이러한 컴파일러들은 고수준 AI 모델을 입력으로 받아, 다층 변환 (multi-layer transformations)을 통해 하위 수준으로 낮추고, 이를 다양한 하드웨어에 최적화합니다. 이러한 컴파일러를 테스트하는 것은 컴파일 스택 전반에 내장된 암시적 제약 조건 (implicit constraints)에 정확성이 의존하기 때문에 독특하게 까다로운 과제입니다. 기존의 테스트 접근 방식은 주로 입력 모델 생성을 제한하기 위해 타입 제약 조건 (type constraints)을 사용하며, 따라서 타입 검증과 컴파일 충돌 (crashes) 또는 커버리지 이득을 모니터링하는 데 중점을 둡니다. 이러한 집중 방식은 컴파일 및 실행 환경 전반에 걸쳐 얽혀 있는 효과로 인해 발생하는 컴파일러-플랫폼 상호작용 버그 (compiler-platform interaction bugs)를 간과합니다. 본 연구에서는 (1) 컴파일러-플랫폼 상호작용 버그를 찾고, (2) 동작 등가 분할 (behavior equivalence partitioning)을 가능하게 하기 위한 확장 가능하고 자동화된 DL 컴파일러 테스트 프레임워크를 제안합니다. 우리의 핵심 통찰은 이러한 버그가 컴파일 패스 (compilation passes)와 하드웨어 플랫폼 간의 상호작용에서 발생하는 위반된 가정들로 인해 발생한다는 점입니다. 따라서 우리는 입력 생성을 제한하는 수준을 넘어 풀스택 제약 조건 (full-stack constraints)을 도출합니다. 우리의 접근 방식은 세 가지 단계로 구성됩니다. 첫째, 모델 생성을 공동으로 안내하고 컴파일 동작을 특징짓는 풀스택 제약 조건을 추출하는 자동화된 접근 방식을 설계합니다. 둘째, 상호작용에 민감한 동작을 드러내는 제약 조건의 우선순위를 지정하여, 생성된 모델이 심층적인 컴파일 로직을 실행할 수 있도록 합니다. 셋째, 커버리지나 통과/실패 신호가 놓치는 별개의 컴파일 증상들을 모니터링하기 위해 어설션 (assertions)을 자동으로 삽입함으로써 동작 등가 분할을 가능하게 합니다. 우리는 세 가지 널리 사용되는 DL 컴파일러에 대해 우리의 도구인 XCheck를 평가하였으며, 메모리 오버플로 (memory overflows), 정수 오버플로 (integer overflows), 그리고 컴파일러-플랫폼 상호작용에 기인한 조용한 예기치 않은 컴파일 (silent unexpected compilations)을 포함하여 2,034개의 버그를 드러내는 사례를 발견했습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0