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