Foundations of Software Refactoring
Year span: 
2002 - 2006
Research lab: 

The aim of the project is to provide a solid foundation for software refactoring by the development of a suitable formal model. We aim at a lightweight model, facilitating the investigation of basic properties of refactoring, as well as the design of tools supporting the refactoring process. In particular, the potential of graph rewriting as a basis for such a model will be explored. Based on this formal model, we will try to answer the following questions:

  1. What is the exact meaning of behaviour preservation in this context?
  2. Can tools resolve conflicts between interacting refactorings?
  3. How can one address the composability and scalability of refactorings?
  4. How can the design be kept consistent with the refactored code?
  5. Which software quality factors are influenced by refactoring?.