Feature-Based Software Design Pattern Detection
Najam Nazar, Aldeida Aleti, Yaokun Zheng

TL;DR
This paper presents DPD_F, a machine learning-based approach that improves automatic detection of software design patterns in Java code by leveraging code features, semantic representations, and the Word2Vec algorithm, achieving high precision and recall.
Contribution
The paper introduces DPD_F, a novel design pattern detection method that outperforms existing techniques using semantic code features and machine learning classifiers.
Findings
DPD_F achieves over 80% precision and 79% recall.
Outperforms FeatureMaps and MARPLE-DPD by 35% and 15% in precision.
Demonstrates practical runtime performance for real-world use.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
