Enforcer is an exception simulation and fault injection tool for Java. In a typical test suite, many possible exceptions (such as for input/output) are not covered. Each method call that may throw exceptions may have an effect on the program, but systematic testing of this is hard. Enforcer will run all JUnit-based unit tests, analyze exception coverage, and re-run an instrumented version of your program which automatically tests all exceptions. Step by step, Enforcer generates exceptions at different code locations. This forces execution to go through previously uncovered exceptions. By analyzing the unit test structure first, Enforcer is much more efficient than other fault injection tools.