위키득계정 ↗
기술

GReduce

GReduce기술
연구 공개
2024년
분야
델타 디버깅
탐색 대상
입력 생성기의 실행
목표
유효한 버그 재현 입력의 축소
GReduce는 입력 생성기의 실행 경로를 줄여 버그를 재현하는 작은 입력을 찾는 델타 디버깅 방법이다. 입력을 줄이는 과정에서 필요한 유효성 조건을 유지하는 데 초점을 둔다.

단순 삭제의 한계

실패를 일으킨 입력에서 일부 내용을 지우면 문법이나 다른 명세를 어길 수 있다. 이런 입력은 원래 버그의 재현 여부를 확인하는 데 도움이 되지 않을 수 있다.

생성기를 활용한 축소

명세를 알고 있는 생성기로 유효한 작은 입력을 만들도록 접근한다. 입력 자체에 축소 규칙을 적용하는 방식에서 입력을 만들어 낸 과정으로 탐색 대상을 옮긴다.

다른 실행 경로 찾기

주어진 생성기와 버그 입력을 만든 실행을 출발점으로 삼는다. 같은 생성기에서 더 작은 유효 입력을 만드는 다른 실행을 찾아 축소를 진행한다.

구조가 다른 입력의 평가

연구는 그래프와 딥러닝 모델 및 자바스크립트 프로그램 등을 포함한 다섯 평가에서 비교했다. 문법 구조만으로 표현하기 어려운 조건을 가진 입력도 축소 대상으로 다뤘다.

관련 문서

델타 디버깅 / Hypothesis 테스트 도구 / Csmith / libFuzzer / AFL++ / 소프트웨어 테스트