Software Evolution and Refactoring July 2010 1. Introduction Any changes on software by developers or users These changes are costly How we can design.