This document discusses various techniques for discovering software vulnerabilities, including fuzzing. It provides background on fuzzing and outlines the different phases of a fuzzing process. It then demonstrates examples of fuzzing file formats using FileFuzz and fuzzing web applications using WebFuzz. The document also discusses fuzzing COM objects using COMRaider. Throughout, it emphasizes identifying the target, inputs, generating fuzzed data, executing tests, monitoring for exceptions, and determining exploitability.