Technology of Object-Oriented Languages and Systems
Automatic Detection of Design Problems in Object-Oriented Reengineering
Santa Barbara, California
August 01-August 05
ISBN: 0-7695-0278-4
The evolution of software systems over many years often leads to unnecessarily complex and inflexible designs which in turn lead to a huge amount of effort for enhancements and maintenance. Thus, the reengineering of object-oriented software becomes more and more important as the number, age and size of such legacy systems grow. A key issue during reengineering is the identification and location of design problems which prevent the efficient further development of a system. Up to now this problem area has not been sufficiently supported, either by methods, or by tools.In this paper, we present a technique for analyzing legacy code, specifying frequent design problems as queries and locating the occurrences of these problems in a model derived from source code. We present our experiences with a tool set which we implemented to support this task by automatically analyzing a given system and detecting the specified problems.We applied our tools to check violations of a number of well-known design rules in existing source code taken from several case studies, both from industrial and academic fields. These experiments showed that the task of problem detection in reengineering can be automated to a large degree, and that the technique presented can be efficiently applied to real-world code.
Index Terms:
Object-oriented reengineering, design problems, tool support for reengineering, model capture, problem detection
Citation:
Oliver Ciupke, "Automatic Detection of Design Problems in Object-Oriented Reengineering," tools, pp.18, Technology of Object-Oriented Languages and Systems, 1999