Refactorings are behavior-preserving transformations to source code. In today's development tools, a good integration of refactoring facilities is crucial as they have become a cornerstone of daily software development.
The talk starts with a look at how the Eclipse Java Developer Tools climbed the refactoring pyramid from simple reference updates to complex type constraint based generalizations. Next, the talk takes a look under the covers explaining the key characteristics of the infrastructure used to implement refactorings. Finally, the most recent developments in the areas of refactoring participation and refactoring scripts are described.
The target audience are developers who would like to take a look behind the scenes of refactoring support.
Dirk Baeumer has been a committer on the Eclipse project since it began, working as a senior developer on JFace, the generic workbench and the Java development tooling. He was the former lead of the JDT/UI component and is now working on Jazz. His interests are in the areas of user interfaces, source code transformation (refactoring in particular), development environments and object oriented software architectures.
Martin Aeschlimann is a software engineer for IBM Zurich Labs and is currently the lead of the JDT UI team and responsible for the Search component. He has been working on the Eclipse project since the beginning, focusing on quick fix and assist, code generation wizards, type hierarchy view and Javadoc support. He obtained his MCS from ETH Zurich in 1999.