Refactoring is a technique that is very amenable to tool support. The classic Refactoring tool is the RefactoringBrowser for the SmalltalkLanguage. There are also several efforts to build a RefactoringBrowserForJava and another one for Python (named BicycleRepairMan).