The composition refactoring triangle (CRT) practical toolkit: from spaghetti to lasagna

  • Authors:
  • Ethan Hadar;Irit Hadar

  • Affiliations:
  • Mercury Interactive, Yehud, Israel;University of Haifa, Haifa, Israel

  • Venue:
  • Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.