Technische Universitat Dortmund
COTS components, like software libraries, can be used to reduce the development effort. Unfortunately, many COTS components have been developed without a focus on robustness and security. The authors propose a novel approach to harden software libraries to improve their robustness and security. Their approach is automated, general and extensible and consists of the following stages. First, they use a static analysis to prepare and guide the following fault injection. In the dynamic analysis stage, fault injection experiments exe-cute the library functions with both usual and extreme input values. The experiments are used to derive and verify one protection hypothesis per function (for instance, function foo fails if argument 1 is a NULL pointer).