107517

Identification and Assessment of Software Design Pattern Violations

Article

Last updated: 04 Jan 2025

Subjects

-

Tags

-

Abstract

The validation of design pattern implementations to identify pattern violations has gained more relevance as part of re-engineering processes in order to preserve, extend, reuse software projects in rapid development environments. If design pattern implementations do not conform to their definitions, they are considered a violation. Software aging and the lack of experience of developers are the origins of design pattern violations. It is important to check the correctness of the design pattern implementations against some predefined characteristics to detect and to correct violations, thus, to reduce costs. Currently, several tools have been developed to detect design pattern instances, but there has been little work done in creating an automated tool to identify and validate design pattern violations. In this paper we propose a Design Pattern Violations Identification and Assessment (DPVIA) tool, which has the ability to identify software design pattern violations and report the conformance score of pattern instance implementations towards a set of predefined characteristics for any design pattern definition whether Gang of Four (GoF) design patterns by Gamma et. al. or custom pattern by software developer. Moreover, we have verified the validity of the proposed DPVIA tool using two evaluation experiments and the results were manually checked. Finally, in order to assess the functionality of the proposed tool, DPVIA is evaluated with a dataset containing 5,679,964 Lines of Code (LoC) among 28,669 Java files in 15 open-source projects, with a large and small size of open-source projects that extensively and systematically employing design patterns, to determine design pattern violations and suggest refactoring solutions, thus keeping costs of software evolution. The results can be used by software architects to develop best practices while using design patterns.

DOI

10.21608/fcihib.2019.107517

Keywords

re-engineering, GoF pattern, design pattern assessment, software design pattern decay, rot, Violations

Authors

First Name

Tamer

Last Name

Abdelaziz

MiddleName

-

Affiliation

-

Email

-

City

-

Orcid

-

First Name

Aya

Last Name

Sedky Adly

MiddleName

-

Affiliation

-

Email

-

City

-

Orcid

-

First Name

Bruno

Last Name

Rossi

MiddleName

-

Affiliation

-

Email

-

City

-

Orcid

-

First Name

Mostafa-Sami

Last Name

M. Mostafa

MiddleName

-

Affiliation

-

Email

-

City

-

Orcid

-

Volume

1

Article Issue

2

Related Issue

16265

Issue Date

2019-07-01

Receive Date

2019-07-25

Publish Date

2019-07-25

Page Start

6

Page End

13

Print ISSN

2537-0901

Online ISSN

2535-1397

Link

https://fcihib.journals.ekb.eg/article_107517.html

Detail API

https://fcihib.journals.ekb.eg/service?article_code=107517

Order

2

Type

المقالة الأصلية

Type Code

1,411

Publication Type

Journal

Publication Title

النشرة المعلوماتية في الحاسبات والمعلومات

Publication Link

https://fcihib.journals.ekb.eg/

MainTitle

Identification and Assessment of Software Design Pattern Violations

Details

Type

Article

Created At

23 Jan 2023