Design pattern recovery based on annotations
Design patterns have been widely used for developing flexible, extensible and perceptible applications to produce effective, reliable, verifiable and easily maintained software systems. The main advantage of using patterns is to take the edge of using best practices and experiences of others in solving the challenging tasks. Patterns have been extensively tested in different applications and reusing them yields the quality software. In this paper, we present a design pattern recovery approach based on annotations, regular expressions and database queries. We define the varying features of patterns and apply rules to match these features with the source code elements. Our novel approach reduces the search space and time for detecting patterns by using appropriate semantics of annotations from large legacy systems. We have tested our approach as proof of concept on motivating examples, and the obtained results are very encouraging.
design patterns annotations reverse engineering program comprehension formal specifications