Computer programs are seldom (never?) bug-free. After more than a few lines of code, it can be difficult to verify that a program or network service will always behave predictably, especially if given spurious input. Sometimes the best way to shake out the bugs is to seriously mistreat your code. Enter a technique called “fuzzing”.