Attackers only need to find a single exploitable bug in order to install malware, bots, and viruses on a vulnerable user's computer. Unfortunately, bugs are plentiful. For example, the Ubuntu Linux distribution bug management database currently lists over 58,000 open bugs. Thus, the question is not whether an attacker can find a bug, but which bugs an attacker can exploit. This research investigates novel techniques, approaches, and algorithms for finding exploitable bugs.