Feature-Based Software Design Pattern Detection

Authors: ...
 2nd Dec 2021  arXiv Download
Posted by Alumni
March 18, 2025
Software design patterns are standard solutions to common problems in software design and architecture. Knowing that a particular module implements a design pattern is a shortcut to design comprehension. Manually detecting design patterns is a time consuming and challenging task, therefore, researchers have proposed automatic design pattern detection techniques. However, these techniques show low performance for certain design patterns. In this work, we introduce a design pattern detection approach, DPD_F that improves the performance over the state-of-the-art by using code features with machine learning classifiers to automatically train a design pattern detector. DPD_F creates a semantic representation of Java source code using the code features and the call graph, and applies the \textit{Word2Vec} algorithm on the semantic representation to construct the word-space geometric model of the Java source code. DPD$_F$ then builds a Machine Learning classifier trained on a labelled dataset and identifies software design patterns with over 80% Precision and over 79\% Recall. Additionally, we have compared DPD_F with two existing design pattern detection techniques namely FeatureMaps & MARPLE-DPD. Empirical results demonstrate that our approach outperforms the state-of-the-art approaches by approximately 35% and 15% respectively in terms of Precision. The run-time performance also supports the practical applicability of our classifier. learn more on arXiv
AUTHORS
ATTACHMENTS

WE USE COOKIES TO ENHANCE YOUR EXPERIENCE
Unicircles uses cookies to personalize content, provide certain advanced features, and to analyze traffic. Per our privacy policy, we WILL NOT share information about your use of our site with social media, advertising, or analytics companies. If you continue using Unicircles by clicking below link, you agree to our use of Cookies while using Unicircles.
I AGREELearn more
x