11th Working Conference on Reverse Engineering (2004)
Delft, The Netherlands
Nov. 8, 2004 to Nov. 12, 2004
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.21
Yann-Gaël Guéhéneuc , Université de Montréal
Houari Sahraoui, , Université de Montréal
Farouk Zaidi , Université de Montréal
Design patterns describe good solutions to common and recurring problems in program design. The solutions are design motifs which software engineers imitate and introduce in the architecture of their program. It is important to identify the design motifs used in a program architecture to understand solved design problems and to make informed changes to the program. The identification of micro-architectures similar to design motifs is difficult because of the large search space, i.e., the many possible combinations of classes. We propose an experimental study of classes playing roles in design motifs using metrics and a machine learning algorithm to fingerprint design motifs roles. Finger-prints are sets of metric values characterising classes playing a given role. We devise fingerprints experimentally using a repository of micro-architectures similar to design motifs. We show that fingerprints help in reducing the search space of micro-architectures similar to design motifs efficiently using the Composite design motif and the JHotDraw framework.
F. Zaidi, Y. Guéhéneuc and H. Sahraoui,, "Fingerprinting Design Patterns," 11th Working Conference on Reverse Engineering(WCRE), Delft, The Netherlands, 2004, pp. 172-181.