Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Agile software development
Software Reengineering
Object Oriented Reengineering Patterns
Object Oriented Reengineering Patterns
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Lean Software Development: An Agile Toolkit
Lean Software Development: An Agile Toolkit
Reengineering Object-Oriented Code
ICSM '98 Proceedings of the International Conference on Software Maintenance
Restructuring Legacy C Code into C++
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Refactoring Workbook
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Adding to and restructuring the design of a large existing code base is known to be a difficult and time consuming task. There are methods for assisting these challenges, such as composition refactoring, reengineering, and anti-patterns detection methods. Most of these methods concentrate on specific perspectives of software engineering.This practical paper presents the Composition Refactoring Triangle (CRT) unified approach for handling multiple changes across complex environments. The CRT is a combination of: the process (CRP), the management tool (CRMT), and the external and internal refactoring elements. The CRT was constructed during on-going need to implement major changes within a living product. This paper contains the "Via Delarosa" - The "Path of Suffering" which describes the road of how the CRT was created, and why other methods failed.Practical evaluation was conducted using the CRT, demonstrating its capabilities. The unified perspectives of the CRT enable improved risk analysis and technical control over multiple architectural evolution changes and their relative dependencies. Its implementation encourages quick testing procedure, code correctness, and short time-to-market response of the development team.