When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis

Detalhes bibliográficos
Autor(a) principal: Sousa, Bruno Luan
Data de Publicação: 2018
Outros Autores: Bigonha, Mariza Andrade Silva, Ferreira, Kecia Aline Marques
Tipo de documento: Artigo
Idioma: eng
Título da fonte: INFOCOMP: Jornal de Ciência da Computação
Texto Completo: https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555
Resumo: Design patterns are general reusable solutions to common recurring problems in software projects. These solutions, when correctly applied, are supposed to enhance modular and flexible structures in software. The aim of this work is to study the occurrences of God Class and Long Method bad smells in software systems developed with design patterns. To achieve this aim, we carried out an exploratory study with five Java systems to: (i) investigate if design patterns avoid bad smells; (ii) identify design patterns that may have co-occurrence with bad smells; and (iii) extract the main reasons that impact on such co-occurrence. We consider in our analysis eleven of the twenty-three GOF design patterns. We also consider the God Class and Long Method bad smells. The results obtained suggest that Composite and Factory Method have a low co-occurrence with these bad smells, and Template Method and Observer have a high co-occurrence with God Class and Long Method, respectively. In addition, we have identified that the misuse of design patterns and the scattering and crosscutting concerns has contributed to such co-occurrences.
id UFLA-5_732dd5f178022fd381badb1846fd507e
oai_identifier_str oai:infocomp.dcc.ufla.br:article/555
network_acronym_str UFLA-5
network_name_str INFOCOMP: Jornal de Ciência da Computação
repository_id_str
spelling When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical AnalysisDesign patterns are general reusable solutions to common recurring problems in software projects. These solutions, when correctly applied, are supposed to enhance modular and flexible structures in software. The aim of this work is to study the occurrences of God Class and Long Method bad smells in software systems developed with design patterns. To achieve this aim, we carried out an exploratory study with five Java systems to: (i) investigate if design patterns avoid bad smells; (ii) identify design patterns that may have co-occurrence with bad smells; and (iii) extract the main reasons that impact on such co-occurrence. We consider in our analysis eleven of the twenty-three GOF design patterns. We also consider the God Class and Long Method bad smells. The results obtained suggest that Composite and Factory Method have a low co-occurrence with these bad smells, and Template Method and Observer have a high co-occurrence with God Class and Long Method, respectively. In addition, we have identified that the misuse of design patterns and the scattering and crosscutting concerns has contributed to such co-occurrences.Editora da UFLA2018-06-30info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfhttps://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555INFOCOMP Journal of Computer Science; Vol. 17 No. 1 (2018): June 2018; 11-221982-33631807-4545reponame:INFOCOMP: Jornal de Ciência da Computaçãoinstname:Universidade Federal de Lavras (UFLA)instacron:UFLAenghttps://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555/498Sousa, Bruno LuanBigonha, Mariza Andrade SilvaFerreira, Kecia Aline Marquesinfo:eu-repo/semantics/openAccess2018-07-23T21:56:34Zoai:infocomp.dcc.ufla.br:article/555Revistahttps://infocomp.dcc.ufla.br/index.php/infocompPUBhttps://infocomp.dcc.ufla.br/index.php/infocomp/oaiinfocomp@dcc.ufla.br||apfreire@dcc.ufla.br1982-33631807-4545opendoar:2024-05-21T19:54:42.912211INFOCOMP: Jornal de Ciência da Computação - Universidade Federal de Lavras (UFLA)true
dc.title.none.fl_str_mv When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
title When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
spellingShingle When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
Sousa, Bruno Luan
title_short When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
title_full When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
title_fullStr When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
title_full_unstemmed When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
title_sort When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
author Sousa, Bruno Luan
author_facet Sousa, Bruno Luan
Bigonha, Mariza Andrade Silva
Ferreira, Kecia Aline Marques
author_role author
author2 Bigonha, Mariza Andrade Silva
Ferreira, Kecia Aline Marques
author2_role author
author
dc.contributor.author.fl_str_mv Sousa, Bruno Luan
Bigonha, Mariza Andrade Silva
Ferreira, Kecia Aline Marques
description Design patterns are general reusable solutions to common recurring problems in software projects. These solutions, when correctly applied, are supposed to enhance modular and flexible structures in software. The aim of this work is to study the occurrences of God Class and Long Method bad smells in software systems developed with design patterns. To achieve this aim, we carried out an exploratory study with five Java systems to: (i) investigate if design patterns avoid bad smells; (ii) identify design patterns that may have co-occurrence with bad smells; and (iii) extract the main reasons that impact on such co-occurrence. We consider in our analysis eleven of the twenty-three GOF design patterns. We also consider the God Class and Long Method bad smells. The results obtained suggest that Composite and Factory Method have a low co-occurrence with these bad smells, and Template Method and Observer have a high co-occurrence with God Class and Long Method, respectively. In addition, we have identified that the misuse of design patterns and the scattering and crosscutting concerns has contributed to such co-occurrences.
publishDate 2018
dc.date.none.fl_str_mv 2018-06-30
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555
url https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555/498
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Editora da UFLA
publisher.none.fl_str_mv Editora da UFLA
dc.source.none.fl_str_mv INFOCOMP Journal of Computer Science; Vol. 17 No. 1 (2018): June 2018; 11-22
1982-3363
1807-4545
reponame:INFOCOMP: Jornal de Ciência da Computação
instname:Universidade Federal de Lavras (UFLA)
instacron:UFLA
instname_str Universidade Federal de Lavras (UFLA)
instacron_str UFLA
institution UFLA
reponame_str INFOCOMP: Jornal de Ciência da Computação
collection INFOCOMP: Jornal de Ciência da Computação
repository.name.fl_str_mv INFOCOMP: Jornal de Ciência da Computação - Universidade Federal de Lavras (UFLA)
repository.mail.fl_str_mv infocomp@dcc.ufla.br||apfreire@dcc.ufla.br
_version_ 1799874742165962752