Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/34648
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorSouza, Rodrigo Rocha Gomes e-
dc.contributor.authorAssunção, Ederson dos Santos-
dc.creatorAssunção, Ederson dos Santos-
dc.date.accessioned2022-01-05T18:42:11Z-
dc.date.available2022-01-05-
dc.date.available2022-01-05T18:42:11Z-
dc.date.issued2021-09-01-
dc.date.submitted2021-09-01-
dc.identifier.citationASSUNÇÃO, Ederson dos Santos. Investigando a incidência de code smells em métodos de padrões de projeto. 2021. 69 f. Dissertação (Mestrado) - Curso de Ciência da Computação, Instituto de Computação, Universidade Federal da Bahia, Salvador, Bahia, 2021.pt_BR
dc.identifier.urihttps://repositorio.ufba.br/handle/ri/34648-
dc.description.abstractDesign patterns are reusable solutions that can be applied to solve specific problems of software projects. However, developers may not implement patterns adequately on some occasions. This can lead to the appearance of code smells. Code smells (or smells) are fragments of code that can indicate potential design flaws. There are situations in which design patterns and smells occur simultaneously in the same code unit (e.g., classes and methods of Java-based software projects). In case of such phenomenon occurs frequently it can reveal opportunities to investigate if a bad practice in the application of patterns is the cause of the occurrence of smells. As a consequence, refining the way how developers apply design patterns may be a good measure to avoid code smells. In this context, we present two experimental studies that aim at examining cases of co-occurrence of patterns and smells. Both studies required the application of detection tools to evaluate Java-based software projects. With our first study, we seek to comprehend the frequency by which code smells co-occur with design patterns. We also report the most common cases of co-occurrence. To achieve this, we identified instances of smells in methods of design patterns of 25 software systems. We also manually inspected source code fragments to obtain useful information about pairs of patterns and smells. Among other findings, we perceived that methods that take part in the implementation of the Adapter pattern are prone to contain smells, e.g., the Feature Envy smell. Our second study has the purpose of analyzing the evolution of open-source software projects. We wanted to provide insights about the co-occurrences along with the evolution of the projects. As a result, we found out that the Template Method pattern is more inclined to appear concomitantly with smells through time.pt_BR
dc.languageporpt_BR
dc.language.isopt_BRpt_BR
dc.publisherUniversidade Federal da Bahiapt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectPadrões de projetopt_BR
dc.subjectCode smellspt_BR
dc.subjectDesign de softwarept_BR
dc.subjectMineração de repositórios de softwarept_BR
dc.subjectDesign patternspt_BR
dc.subjectSoftware repository miningpt_BR
dc.subjectSoftware designpt_BR
dc.titleInvestigando a incidência de code smells em métodos de padrões de projetopt_BR
dc.title.alternativeInvestigating the incidence of code smells in design pattern methodspt_BR
dc.typeDissertaçãopt_BR
dc.contributor.refereesSouza, Rodrigo Rocha Gomes e-
dc.contributor.refereesVillela, Ricardo Terra Nunes Bueno-
dc.contributor.refereesSant'Anna, Cláudio Nogueira-
dc.publisher.departamentUniversidade Federal da Bahiapt_BR
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação (PGCOMP) pt_BR
dc.publisher.initialsUFBApt_BR
dc.publisher.countryBrasilpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWAREpt_BR
dc.contributor.advisor1Souza, Rodrigo Rocha Gomes e-
dc.contributor.advisor1ID0000-0001-8186-0069pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/7697794806460975pt_BR
dc.contributor.referee1Villela, Ricardo Terra Nunes Bueno-
dc.contributor.referee1Latteshttp://lattes.cnpq.br/0162081093970868pt_BR
dc.contributor.referee2Sant'Anna, Cláudio Nogueira-
dc.contributor.referee2Latteshttp://lattes.cnpq.br/3228159608138969pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/7655717074277100pt_BR
dc.description.resumoPadrões de projeto são soluções reutilizáveis que podem ser aplicadas para resolver problemas específicos em projetos de software. No entanto, tais padrões podem ser mal aplicados e dar origem a code smells. Code smells ou smells são fragmentos no código-fonte que indicam possíveis falhas de design. Existem situações em que os padrões de projeto podem coocorrer com code smells dentro do mesmo módulo de código (e.g., arquivos .java de projetos Java). Esse fenômeno, caso ocorra com frequência, pode resultar em uma oportunidade para avaliar se existe algum desvio ou má prática de aplicação dos padrões que possam ser evitados. Possivelmente, ao refinar a forma como os padrões são adicionados a projetos, o surgimento e existência de smells possam ser mitigados. Este trabalho apresenta dois estudos experimentais com o objetivo de investigar as relações de coocorrência entre padrões de projeto e smells. Ambos demandaram a aplicação de ferramentas de detecção automatizadas de padrões de projeto e smells em sistemas de código-fonte aberto desenvolvidos na linguagem Java. No primeiro estudo busca-se compreender com que frequência os code smells coocorrem com padrões de projeto, bem como determinar as coocorrências mais comuns. Para esse fim, fora identificadas instâncias de smells em métodos de padrões de projeto de 25 sistemas. Também foram manualmente inspecionados fragmentos do código-fonte dos projetos para obter informações sobre a relação entre pares específicos padrão-smell. Entre outras descobertas, este estudo revelou que os métodos que fazem parte do padrão Adapter são mais propensos a conter smells, especialmente o Feature Envy. O segundo estudo é aplicado sobre o histórico de versão proveniente de repositórios de software Open Source. Essa análise consiste em entender a relação entre as duas variáveis (padrões de projeto e code smells) ao longo da evolução do software. Os resultados encontrados sugerem que o padrão Template Method está mais propenso a ser introduzido simultaneamente com smells ao longo do tempo.pt_BR
dc.publisher.departmentInstituto de Matemáticapt_BR
Aparece nas coleções:Dissertação (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
PGCOMP-2021-Dissertação_Mestrado-Ederson_dos_Santos_Assunção.pdf2,11 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.