Restructuring existing code without changing its external behavior. The goal is to improve code quality, readability, and maintainability. AI can assist with identifying opportunities and executing refactorings. (Ch. 25, 26)