Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Creating abstract superclasses by refactoring
CSC '93 Proceedings of the 1993 ACM conference on Computer science
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Formalising Behaviour Preserving Program Transformations
ICGT '02 Proceedings of the First International Conference on Graph Transformation
Practical analysis for refactoring
Practical analysis for refactoring
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Static composition of refactorings
Science of Computer Programming - Special issue on program transformation
Formalizing refactorings with graph transformations: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Fine-grain transformations to refactor UML models
Proceedings of the Warm Up Workshop for ACM/IEEE ICSE 2010
On the use of graph transformations for model refactoring
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.00 |
This paper reports on an aspect of an ongoing study whose overall objective is to explore the consequences of isolating prototypical transformations used in building refactorings. These have been called fine-grained transformations (FGTs) and have been built into a Prolog-based prototype refactoring tool. The paper shows how this tool uses FGTs to build composite refactorings from primitive refactorings. It indicates how composite-level and FGT-enabling preconditions can be derived and utilised to avoid the rollback problem. FGT-based composite refactorings therefore retain the advantages of building composite refactorings from primitive ones, but simultaneously offer the additional potential benefits to be derived from a more fine-grained exposition of the refactoring task.