CMPSC 293C Software Fuzzing for Correctness and Security
Software fuzzing is a testing technique that is heavily used in industry and studied in academia. The basic idea is simple: randomly generate inputs to the system under test and determine if the system executes properly for each input. However, there are many complexities and hard problems that arise when putting this idea into practice. We will study the different types of software fuzzing and the current state of fuzzing research through reading a number of relevant papers.