The industry is nowadays confronted with large-scale monolithic and inflexible object-oriented software. Because of their high business value, these legacy systems must be reengineered. One of the important issues in reengineering is the detection and location of design flaws, which prevent an efficient maintenance and further development of the system. This work presents a novel metrics-based approach for detecting such design problems. The approach is based on the Detection Strategy concept, which is a higher-level mechanism for interpreting measurement results, defined by the author. After defining and explaining the mechanism itself, the work introduces an important suite of detection strategies for the identification of different well-known design flaws found in the literature, but also for problems rarely mentioned. The last part of the work introduces a new type of quality model, called Factor-Strategy.
Michele Lanza is an Assistant Professor at the University of Lugano, Switzerland. His main research interests lie in software (re)engineering and software evolution with a special focus on software visualization and metrics. He was the creator of CodeCrawler, a freely available language-independent software visualization tool. His Ph.D. work won the Ernst Denert Software Engineering Award in 2003. Michele is a member of the ACM and IEEE.
Radu Marinescu is an Assistant Professor at the University of Timisoara, Romania. Radu’s research focuses on object-oriented reengineering and quality assurance. Several of his published research ideas have been applied in the well-known "Borland Together Control Center" CASE Tool. He also acted as a reviewer in several phases of the IEEE's SWEBOK (Software Engineering Body of Knowledge) project.