I am wondering if anyone knows of tools or techniques to automatically inject common faults into a running .NET program. Stuff like...
There is a codeplex project called TestAPI that can do runtime fault injection. You need to look at its managed code fault injection API. It uses the CLR profiling API to intercept method calls at runtime and modify their behaviour.
Have a look at an example to see how to inject an exception on a method call in an already compiled exe.