Program evolution: processes of software change
Program evolution: processes of software change
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object Oriented Reengineering Patterns
Object Oriented Reengineering Patterns
Software Maintenance Management
Software Maintenance Management
Requirements for Integrating Software Architecture and Reengineering Models: CORUM II
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
Polymetric Views-A Lightweight Visual Approach to Reverse Engineering
IEEE Transactions on Software Engineering
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Correlating Features and Code Using a Compact Two-Sided Trace Analysis Approach
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
The story of moose: an agile reengineering environment
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Hi-index | 0.00 |
Successful software systems must be prepared to evolve or they will die. Although object-oriented software systems are built to last, over time they degrade as much as any legacy software system. As a consequence, one must invest in reengineering efforts to keep further development costs down. Even though software systems and their business contexts may differ in countless ways, the techniques one uses to understand, analyze and transform these systems tend to be very similar. As a consequence, one may identify various reengineering patterns that capture best practice in reverse- and re-engineering object-oriented legacy systems. We present a brief outline of a large collection of these patterns that have been mined over several years of experience with object-oriented legacy systems, and we indicate how some of these patterns can be supported by appropriate tools.