Refactoring by Transformation
Márcio Cornélio, Ana Cavalcanti, Augusto C. A. Sampaio · Electronic Notes in Theoretical Computer Science · 2002
In this paper we present how refactoring of object-oriented programs can be accomplished by using refinement. Our approach is based on algebraic laws of an object-oriented language for refinement similar to Java. We follow a strategy involving data and algorithmic refinement of classes.