We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Software Engineering

Title: Feature-Based Software Design Pattern Detection

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 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.
Comments: Accepted in Journal of Systems and Software (JSS)
Subjects: Software Engineering (cs.SE)
Cite as: arXiv:2012.01708 [cs.SE]
  (or arXiv:2012.01708v4 [cs.SE] for this version)

Submission history

From: Najam Nazar Dr [view email]
[v1] Thu, 3 Dec 2020 05:21:04 GMT (1689kb,D)
[v2] Sat, 29 May 2021 02:28:23 GMT (2098kb,D)
[v3] Sat, 9 Oct 2021 13:21:29 GMT (2393kb,D)
[v4] Thu, 2 Dec 2021 05:46:42 GMT (1195kb,D)

Link back to: arXiv, form interface, contact.