Every day, you read about another security hole found in some widely-used piece of software. Browsers, media players, support libraries - the list goes on and on. You probably use some of those every day. In this talk, I’ll talk about one technique, called "Fuzzing", which you can use to make your programs more reliable when dealing with data "from the outside".
I’ll talk about the general idea of Fuzzing, why it is useful, a brief history, the current state of the art, and some existing tools/libraries/services to help you harden your program. I’ll also have some examples from libc++ and Boost.