Symmetry, Volume (14), No (7), Year (2022-7) , Pages (1491-1532)

Title : ( A Feature-Based Method for Detecting Design Patterns in Source Code )

Authors: MARIAM KOULI , Abbas Rasoolzadegan ,

Access to full-text not allowed by authors

Citation: BibTeX | EndNote


Design patterns are common solutions to existing issues in software engineering. In recent dec-ades, design patterns have been researched intensively because they increase the quality factors of software systems such as flexibility, maintainability, and reusability. Design pattern detection refers to the determination of the symmetry between a code fragment and the definition of a design pattern. One of the major challenges in design pattern detection is how to obtain accurate information about the design patterns used in the software system due to the existence of dif-ferent design pattern variants. Increasing the number of design pattern variants covered by a detection method is one of the main factors that increase its accuracy. In this paper, a step toward solving this challenge was taken by proposing a new feature-based method that builds on con-crete definitions of existing design pattern variants and supports the definition and detection of new variants. In this proposed method, the needed features are extracted from the signatures of the design patterns. This method was applied to the 23 Gang of Four (GoF) design patterns and evaluated using four open-source Java projects. Afterward, it was compared with some previous methods using automatically generated testbeds. The experimental results demonstrate that the proposed method has better performance in terms of precision and recall compared to the other methods.


, design pattern variants, feature-based pattern detection, design patterns\\\' signature analysis, re-verse engineering, software quality
برای دانلود از شناسه و رمز عبور پرتال پویا استفاده کنید.

author = {KOULI, MARIAM and Rasoolzadegan, Abbas},
title = {A Feature-Based Method for Detecting Design Patterns in Source Code},
journal = {Symmetry},
year = {2022},
volume = {14},
number = {7},
month = {July},
issn = {2073-8994},
pages = {1491--1532},
numpages = {41},
keywords = {design pattern variants; feature-based pattern detection; design patterns\\\' signature analysis; re-verse engineering; software quality},


%0 Journal Article
%T A Feature-Based Method for Detecting Design Patterns in Source Code
%A Rasoolzadegan, Abbas
%J Symmetry
%@ 2073-8994
%D 2022