Tool Support for Complex Refactoring to Design Patterns (Carmen Zannier, Frank Maurer) Abstract. The abstract should summarize the contents of the paper and should Using design patterns is seen to improve the maintainability of software systems. Applying patterns often implies upfront design while agile methods rely on software architecture to emerge. We bridge this gap by applying complex refactoring towards patterns to improve software design. Complex refactorings are based on existing tool-supported refactorings, knowledge of the application to be changed, knowledge of design patterns, and the capability to generate necessary code for a given design pattern. We present complex refactorings to J2EE design patterns and describe requirements of complex refactoring and accompanying tool support.