ACDPR: A Recommendation System for the Creational Design Patterns Using Anti-patterns

Nadia Nahar, Kazi Muheymin Sakib · 2016

Recommendation of creational design patterns is not an easy task due to the similarities in their intents. Relationships with anti-patterns can play a significant role here. However, the logical definition and characterization of these anti-patterns, categorized by the design patterns, is still missing. The contributions of this paper are to identify and characterize the anti-patterns that reside as alternative solutions to the creational design patterns, and detect those anti-patterns in software designs to recommend the correct design patterns. After the anti-patterns are defined through the analysis of their structure, behavior and semantic, a tool named Anti-pattern based Creational Design Pattern Recommender (ACDPR) is developed. ACDPR uses the findings of the analysis to detect the anti-patterns in software design, performing structural, behavioral and semantic matchings. The outcome of these matching levels are used to calculate a score for each pattern, and based on these scores, creational design patterns are recommended. The justification of the approach is done by running the tool in 21 software, that results in a precision of 1, recall of 0.95, and F-measure of 0.97.

Read the paper · More papers on PaperTik