Manipulating Program Functionality to Eliminate Security Vulnerabilities
Security vulnerabilities can be seen as excess undesirable functionality present in a software system. The authors present several mechanisms that can either excise or change system functionality in ways that may eliminate security vulnerabilities while, enabling the system to continue to deliver acceptable service. They discuss several automatic techniques for changing program behavior in ways that may eliminate security vulnerabilities. They take the perspective that vulnerabilities are undesirable functionality and therefore focus on techniques that change or even eliminate some of the functionality that the system offers to users.