Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
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
The PROGRES approach: language and environment
Handbook of graph grammars and computing by graph transformation
The Category of Typed Graph Grammars and its Adjunctions with Categories
Selected papers from the 5th International Workshop on Graph Gramars and Their Application to Computer Science
Graph Unification and Matching
Selected papers from the 5th International Workshop on Graph Gramars and Their Application to Computer Science
Introduction to the Algebraic Theory of Graph Grammars (A Survey)
Proceedings of the International Workshop on Graph-Grammars and Their Application to Computer Science and Biology
Formalising Behaviour Preserving Program Transformations
ICGT '02 Proceedings of the First International Conference on Graph Transformation
Practical analysis for refactoring
Practical analysis for refactoring
Context-exploiting shapes for diagram transformation
Machine Graphics & Vision International Journal - Special issue on diagrammatics & Design
Abstraction and control for shapely nested graph transformation
Fundamenta Informaticae - Special issue on the first international conference on graph transformation (ICGT 2002)
Graph transformation with variables
Formal Methods in Software and Systems Modeling
Refactoring-based support for binary compatibility in evolving frameworks
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Journal of Visual Languages and Computing
Graph Transformation for Topology Modelling
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Behavior Preservation in Model Refactoring Using DPO Transformations with Borrowed Contexts
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Shaped Generic Graph Transformation
Applications of Graph Transformations with Industrial Relevance
A Collection Operator for Graph Transformation
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Applying a Model Transformation Taxonomy to Graph Transformation Technology
Electronic Notes in Theoretical Computer Science (ENTCS)
Adaptive star grammars and their languages
Theoretical Computer Science
Multi-amalgamation in adhesive categories
ICGT'10 Proceedings of the 5th international conference on Graph transformations
Parallel independence of amalgamated graph transformations applied to model transformation
Graph transformations and model-driven engineering
Building an expert system to assist system refactorization
Expert Systems with Applications: An International Journal
ICGT'06 Proceedings of the Third international conference on Graph Transformations
Formal foundation of consistent EMF model transformations by algebraic graph transformation
Software and Systems Modeling (SoSyM)
A collection operator for graph transformation
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
Refactoring is a software engineering technique that aims at enhancing the structure of object-oriented software while preserving its behavior. Several authors have studied how graph transformation can be used to specify refactoring, because such specifications are more precise and can thus, in principle, easier be verified to preserve a program's behavior. It has turned out that ''standard'' ways of graph transformation do not suffice to define refactoring: their expressive power must be increased if they shall be useful in this application area. Two mechanisms have been proposed so far: one for cloning, and one for expanding nodes by graphs. However, the mechanisms and notations needed are rather complex. In this paper we provide, in the context of double pushout graph transformation, a more elegant and intuitive description. It is based on a notion of rule instantiation, where the instantiation transforms rule schemes into rule instances by cloning and expansion. The power of the technique is demonstrated by an application to two well-known refactoring operations.