A Design Pattern Detection Technique That Aids Reverse Engineering
If software design-patterns could be captured and reused then this would be very helpful to reverse-engineering often practiced by those who develop and who maintain software. The ad-hoc nature and informality of this reverse-engineering process however, makes the discovery of these patterns not straightforward. Moreover, a high false positive rate results from trying to detect these design-patterns. Although several static and dynamic analysis approaches have been proposed to overcome these difficulties, each technique cannot be used separately because of different reasons. And, even if this were possible, each technique in isolation cannot address detection of all of the important patterns.