[논문 리뷰] DeepHunter: Hunting Deep Neural Network Defects via Coverage-Guided Fuzzing
DeepHunter는 다층 퍼셉트론, 합성곱 신경망 등 다양한 딥 뉴럴 네트워크(DNN)에서 결함을 체계적으로 탐지하기 위해 의미를 유지하는 테스트 입력을 생성하고, 여섯 가지 플러그형 다중 그레인 레벨 커버리지 기준을 활용해 테스트 생성을 이끌어내는 커버리지 유도 퍼징 프레임워크이다. 이는 테스트 커버리지의 향상과 양자화를 통해 배포를 위한 과정에서 발생하는 모델 오류까지 탐지하는 데 기여한다.
In company with the data explosion over the past decade, deep neural network (DNN) based software has experienced unprecedented leap and is becoming the key driving force of many novel industrial applications, including many safety-critical scenarios such as autonomous driving. Despite great success achieved in various human intelligence tasks, similar to traditional software, DNNs could also exhibit incorrect behaviors caused by hidden defects causing severe accidents and losses. In this paper, we propose DeepHunter, an automated fuzz testing framework for hunting potential defects of general-purpose DNNs. DeepHunter performs metamorphic mutation to generate new semantically preserved tests, and leverages multiple plugable coverage criteria as feedback to guide the test generation from different perspectives. To be scalable towards practical-sized DNNs, DeepHunter maintains multiple tests in a batch, and prioritizes the tests selection based on active feedback. The effectiveness of DeepHunter is extensively investigated on 3 popular datasets (MNIST, CIFAR-10, ImageNet) and 7 DNNs with diverse complexities, under a large set of 6 coverage criteria as feedback. The large-scale experiments demonstrate that DeepHunter can (1) significantly boost the coverage with guidance; (2) generate useful tests to detect erroneous behaviors and facilitate the DNN model quality evaluation; (3) accurately capture potential defects during DNN quantization for platform migration.
연구 동기 및 목표
- 딥 뉴럴 네트워크(DNN) 소프트웨어 품질 보증을 위한 확장 가능하고 자동화된 테스팅 프레임워크의 부족을 해결한다.
- 기존 퍼징 기법의 한계를 극복하기 위해 입력의 의미를 유지하는 DNN 인식 변형 전략을 설계한다.
- 다양한 커버리지 기준을 활용한 피드백 기반 테스트 생성을 통해 테스트의 다양성과 결함 탐지 능력을 향상시킨다.
- DNN 품질 평가 및 결함 탐지에 있어 다양한 커버리지 기준이 퍼징을 이끄는 데 미치는 영향을 조사한다.
- 실제 데이터셋과 복잡한 모델인 ResNet-50에서의 확장성과 효과성을 입증한다.
제안 방법
- 의미 유지 변형을 활용해 의미를 보존하면서도 변형을 가한 새로운 테스트 입력을 생성함으로써 유효성과 다양성을 확보한다.
- 퍼징 동안 처리량을 향상시키기 위해 테스트 입력의 배치를 유지한다.
- 여섯 가지 다른 신경망 커버리지 기준(예: 뉴런, 레이어, 필터 수준 커버리지 등)을 갖춘 플러그형 피드백 아키텍처를 도입한다.
- 커버리지 기준으로부터 활성 피드백을 활용해 변형 전략을 이끌며, 새로운 또는 미탐색 영역을 탐색하는 테스트 케이스를 우선순위에 올린다.
- 커버리지 피드백을 활용해 변형 작업을 동적으로 조정함으로써 극단적인 경우나 오류 발생 행동을 유도할 가능성을 높인다.
- MNIST, CIFAR-10 및 ImageNet과 같은 다양한 DNN 아키텍처를 포함한 대규모 평가를 지원한다.
실험 결과
연구 질문
- RQ1여러 개의 다중 그레인 커버리지 기준을 사용한 커버리지 유도 퍼징이 딥 뉴럴 네트워크에서 테스트 커버리지 향상에 효과적으로 기여할 수 있는가?
- RQ2다양한 커버리지 기준이 DNN 퍼징의 효율성과 효과성에 미치는 영향은 어떠한가?
- RQ3DeepHunter은 DNN 개발 및 플랫폼 이관을 위한 양자화 과정에서 오작동 행동을 얼마나 잘 탐지할 수 있는가?
- RQ4ImageNet 및 ResNet-50와 같은 대규모 실세계 DNN과 데이터셋에 대해 프레임워크는 확장 가능한가?
- RQ5테스트 다양성, 커버리지 및 결함 탐지 능력 측면에서 기존 방법인 TensorFuzz와 비교해 DeepHunter은 어떤가?
주요 결과
- DeepHunter은 테스트된 여섯 가지 커버리지 기준 전반에서 커버리지 향상을 크게 이룩하였으며, 피드백 기반 변형의 효과성을 입증한다.
- 프레임워크는 양자화 과정에서 발생하는 모델 실패와 같은 오류 행동까지 성공적으로 탐지하였으며, 이는 엣지 디바이스에 배포하기 위해 매우 중요하다.
- 의미 유지 변형을 통한 메타모르픽 변형은 유효하고 다양한 입력을 생성하며, 무작위 또는 문법적 변형보다 더 효과적이다.
- 다양한 플러그형 커버리지 기준의 사용은 단일 메트릭 피드백보다 모델 행동 탐색의 포괄성을 높인다.
- DeepHunter은 ResNet-50와 같은 대규모 모델 및 ImageNet과 같은 대규모 데이터셋에서도 효과적으로 확장 가능하여 대규모 실험적 평가를 가능하게 한다.
- 다양한 변형 유형과 다면적 피드백을 지원함으로써 기존의 TensorFuzz와 비교해 더 넓은 범위의 결함 탐지 능력을 확보한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.