Automated refactoring to introduce design patterns
Proceedings of the 22nd international conference on Software engineering
A Theory of Object-Oriented Design
Information Systems Frontiers
Automated software evolution towards design patterns
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Using UML Action Semantics for model execution and transformation
Information Systems - The 13th international conference on advanced information systems engineering (CAiSE*01)
Using UML Action Semantics for Executable Modeling and Beyond
CAiSE '01 Proceedings of the 13th International Conference on Advanced Information Systems Engineering
Using CBR for Automation of Software Design Patterns
ECCBR '02 Proceedings of the 6th European Conference on Advances in Case-Based Reasoning
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Coordinating Software Evolution via Two-Tier Programming
COORDINATION '02 Proceedings of the 5th International Conference on Coordination Models and Languages
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Principles in formal specification of object oriented design and architecture
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
Automatic Verification of Java Design Patterns
Proceedings of the 16th IEEE international conference on Automated software engineering
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
A case study in re-engineering to enforce architectural control flow and data sharing
Journal of Systems and Software
Problem-Oriented Documentation of Design Patterns
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Refactoring Towards a Layered Architecture
Electronic Notes in Theoretical Computer Science (ENTCS)
Combating architectural degeneration: a survey
Information and Software Technology
Identification of refactoring opportunities introducing polymorphism
Journal of Systems and Software
Design pattern evolutions in QVT
Software Quality Control
Automated refactoring to the Strategy design pattern
Information and Software Technology
Automatic recognition of design motifs using semantic conditions
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Sharing bad practices in design to improve the use of patterns
Proceedings of the 17th Conference on Pattern Languages of Programs
Hi-index | 0.00 |
In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and present a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into mini-patterns and the development of corresponding mini-transformations that can introduce these mini-patterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each mini-transformation we discover. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.