Type constraints express subtype-relationships between the types of program expressions that are required for type-correctness, and were originally proposed as a convenient framewo...
In this paper, we present a collection of aspect-oriented refactorings covering both the extraction of aspects from objectoriented legacy code and the subsequent tidying up of the...
In this paper we present aspect-oriented programming laws that are useful for deriving refactorings for AspectJ. The laws help developers to verify if the transformations they deļ...
Code duplication is an important problem in application maintenance. Tools exist that support code duplication detection. However, few of them propose a solution for the problem, ...
In this chapter, we explore the emerging research domain of modeldriven software refactoring. Program refactoring is a proven technique that aims at improving the quality of sourc...