Refactoring
Refactoring is the engine of Consolidation
Refactorings are program transformations that preserve program semantics, while improving structure
Refactoring has traditionally been done by hand, but tools are starting to emerge
Languages differ significantly in the degree to which they support refactoring