Design patterns are used as a software reuse technology, which provides a large scale reuse. During maintenance of a software system, developers can understand and benefit by understanding the idea of which design patterns have been used in the system, if any. Thus, one can say that reuse technologies such as design patterns and frameworks improves the program understanding and software maintenance. Therefore, it is necessary to automate the design pattern discovery process. We first define a multi-labelled graph representation for the design of software. Multi-labelled graph allows multiple labels on vertices and edges. Then we are applying a greedy algorithm on the multi-labelled graphs of design pattern and system design to detect design patterns in it. Using this approach, variants of design patterns as well as all occurrences of a design pattern can be detected.
['Manjari Gupta']
Design pattern mining using greedy algorithm for multi-labelled graphs