728x90
입력(input)을 약간씩 변형해서 새로운 입력을 만들어내는 작업
hello
hello 라고 입력을 했다고 해봅시다
afl은 여기에 다음과 같은 작은 변경을 가할 수 있다.
어떤 문자를 바꾸기 -> hello -> hezlo
문자를 추가하기 -> hello -> helloo
문자를 삭제하기 -> hello -> helo
비트를 뒤집기 -> hello -> hfllo
기존의 입력을 조금씩 변화시켜(mutate) 프로그램에 집어 넣고, 실행 경로(coverage)가 달라지는지 확인하는 방식
이걸 반복해서 더 넓은 커버리지를 찾는 것이다.
즉 mutation
기존 입력을 기반으로 하여 새로운 테스트 케이스를 자동 생성하는 기법이다.
728x90