To be effective, a fuzzer needs to generate inputs that are well formed. We propose a new algorithm and show through extensive experimentation that it can learn grammars from recursive descendent parsers.