Safe refactoring is when your refactoring tool doesn't mess up your code. Example: If you rename a method, a good refactoring tool should check that the new name is not in conflict with some method already defined. Some refactoring tools don't care about these things. It may be quite dangerous to use them if your program is something more complicated than Hello World. The RefactoringTools are here now. I think it's time to start talking about this issue. Maybe a Rubicon II (see http://martinfowler.com/articles/refactoringRubicon.html) for safe refactoring?