Algebraic approach to single-pushout graph transformation
Theoretical Computer Science - Special issue on selected papers of the International Workshop on Computing by Graph Transformation, Bordeaux, France, March 21–23, 1991
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Creating abstract superclasses by refactoring
CSC '93 Proceedings of the 1993 ACM conference on Computer science
Graph grammars with negative application conditions
Fundamenta Informaticae - Special issue on graph transformations
Abstract semantics for ESM systems
Fundamenta Informaticae - Special issue on graph transformations
Logic based programmed structure rewriting systems
Fundamenta Informaticae - Special issue on graph transformations
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
Graph transformation units and modules
Handbook of graph grammars and computing by graph transformation
Graph Grammar Engineering with PROGRES
Proceedings of the 5th European Software Engineering Conference
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
Using FUJABA for the Development of Production Control Systems
AGTIVE '99 Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Proceedings of the International Workshop on Graph-Grammars and Their Application to Computer Science and Biology
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
Practical analysis for refactoring
Practical analysis for refactoring
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Towards a taxonomy of software change: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
Model refactorings through rule-based inconsistency resolution
Proceedings of the 2006 ACM symposium on Applied computing
Towards proving preservation of behaviour of refactoring of UML models
SAICSIT '05 Proceedings of the 2005 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries
Attributed graph transformation with node type inheritance
Theoretical Computer Science
Pattern-based design evolution using graph transformation
Journal of Visual Languages and Computing
From UML Activities to TAAL - Towards Behaviour-Preserving Model Transformations
ECMDA-FA '08 Proceedings of the 4th European conference on Model Driven Architecture: Foundations and Applications
Adaptive Star Grammars for Graph Models
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Sound and extensible renaming for java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Shaped Generic Graph Transformation
Applications of Graph Transformations with Industrial Relevance
Fine-grain transformations to refactor UML models
Proceedings of the Warm Up Workshop for ACM/IEEE ICSE 2010
Model Transformation Using Graph Transactions
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Stepping Stones over the Refactoring Rubicon
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Composite refactoring using fine-grained transformations
Proceedings of the 2009 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists
Termination of High-Level Replacement Units with Application to Model Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
Cloning and Expanding Graph Transformation Rules for Refactoring
Electronic Notes in Theoretical Computer Science (ENTCS)
High-level replacement units and their termination properties
Journal of Visual Languages and Computing
Verification of architectural refactorings by rule extraction
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Adaptive star grammars and their languages
Theoretical Computer Science
Legacy transformations for extracting service components
Rigorous software engineering for service-oriented systems
Ensuring structural constraints in graph-based models with type inheritance
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Graph transformation with variables
Formal Methods in Software and Systems Modeling
ICGT'06 Proceedings of the Third international conference on Graph Transformations
A graphical specification of model transformations with triple graph grammars
ECMDA-FA'05 Proceedings of the First European conference on Model Driven Architecture: foundations and Applications
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
Architecture migration driven by code categorization
ECSA'07 Proceedings of the First European conference on Software Architecture
Implementing refactorings for FOP: lessons learned and challenges ahead
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
Hi-index | 0.00 |
The notion of refactoring --transforming the source-code of an object-oriented program without changing its external behaviour-- has increased the need for a precise definition of refactorings and their properties. This paper introduces a graph representation of those aspects of the source code that should be preserved by a refactoring, and graph rewriting rules as a formal specification for the refactoring transformations themselves. To this aim, we use type graphs, forbidden subgraphs, embedding mechansims, negative application conditions and controlled graph rewriting. We show that it is feasible to reason about the effect of refactorings on object-oriented programs independently of the programming language being used. This is crucial for the next generation of refactoring tools.