Automatic Detection of Design Pattern for Reverse Engineering

In maintenance, the lack of documentation leads to high costs of reverse engineering. Generally, design-pattern is a reusable solution to a commonly occurring problem in software design. If design-patterns could be captured and reused in reverse engineering, the reverse engineering would be very helpful those who develops and maintains software. So there have been many attempts to detect design-patterns during reverse engineering. However, the approaches suffer from serious drawbacks to its practical implementation; false positive, false negative rate, the number of detected patterns. In this paper, we propose a new taxonomy of GoF design patterns that can guide the reverse-engineering process. This approach not only combines static analysis with dynamic analysis but also adds what we call the implementation- specific analysis. We apply a number of existing and new applications, including PURE toolkit, JINI based home application system, project management tool, MP3 player, and we demonstrate that the reverse engineering process is more accurate.

[1]  Ronald A. Olsson,et al.  Reverse Engineering of Design Patterns from Java Source Code , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[2]  Niklas Pettersson,et al.  Measuring precision for static and dynamic design pattern recognition as a function of coverage , 2005 .

[3]  Jörg Niere,et al.  Design Pattern Recovery Based on Source Code Analysis with Fuzzy Logic , 2001 .

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  Hee Yong Youn,et al.  Next generation agent development supporting tool: case study , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[6]  Giuliano Antoniol,et al.  Design pattern recovery in object-oriented software , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[7]  Kyle G. Brown,et al.  Design reverse-engineering and automated design-pattern detection in Smalltalk , 1996 .

[8]  Lothar Wendehals Improving Design Pattern Instance Recognition by Dynamic Analysis , 2003 .

[9]  Welf Löwe,et al.  Automatic design pattern detection , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..