Sixth Working Conference on Reverse Engineering (Cat. No.PR00303) (1999)
Oct. 6, 1999 to Oct. 8, 1999
Stéphane Ducasse , Universit?t Bern
Tamar Richner , Universit?t Bern
Robb Nebbe , Universit?t Bern
In reengineering an object-oriented system we want to benefit from the expertise developed in earlier efforts. It is therefore essential to have a way to communicate expertise at different levels: from knowledge about how to approach a system to be reengineered, to knowledge about improving code by eliminating 'bad' style. In this paper we propose to use a pattern form to communicate knowledge about reengineering. A reengineering pattern connects an observable problem in the code to a reengineering goal: it describes the process of going from the existing legacy solution causing or aggravating the problem to a new refactored solution which meets the reengineering goal. It thus gives a method appropriate for a specific problem, rather than proposing a general methodology, and makes reference to the appropriate tools or techniques for obtaining the refactored solution. In this paper we discuss the role of reengineering patterns and contrast them with related kinds of patterns. We then highlight the form of reengineering patterns and present two simple patterns for type-check elimination.
Object-Oriented, Reengineering, Patterns, Refactorings
S. Ducasse, T. Richner and R. Nebbe, "Type-Check Elimination: Two Object-Oriented Reengineering Patterns," Sixth Working Conference on Reverse Engineering (Cat. No.PR00303)(WCRE), Atlanta, Georgia, 1999, pp. 157.