  Fuzzing has played an important role in improving software development and
testing over the course of several decades. Recent research in fuzzing has
focused on applications of machine learning (ML), offering useful tools to
overcome challenges in the fuzzing process. This review surveys the current
research in applying ML to fuzzing. Specifically, this review discusses
successful applications of ML to fuzzing, briefly explores challenges
encountered, and motivates future research to address fuzzing bottlenecks.
