Skip navigation
Por favor, use este identificador para citar o enlazar este ítem: https://repositorio.ufpe.br/handle/123456789/38791

Comparte esta pagina

Registro completo de metadatos
Campo DC Valor Lengua/Idioma
dc.contributor.advisorTEIXEIRA, Leopoldo Motta-
dc.contributor.authorLOLI, Samuel Bristot-
dc.date.accessioned2020-11-26T19:05:46Z-
dc.date.available2020-11-26T19:05:46Z-
dc.date.issued2020-09-11-
dc.identifier.citationLOLI, Samuel Bristot. Code smells no contexto de mapeamento objeto-relacional em projetos Java: um catálogo e uma ferramenta de detecção. 2020. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2020.pt_BR
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/38791-
dc.description.abstractMás escolhas durante o desenvolvimento de software podem causar futuros problemas de manutenção e desempenho. Code smells são tipicamente utilizados como indicadores de tais problemas. Vários code smells foram propostos anteriormente com foco no código genérico. Neste trabalho, focamos nas especificidades do código Object Relational Mapping (ORM) em Java. Desenvolvedores normalmente utilizam frameworks ORM para abstrair a complexidade de acesso ao banco de dados. No entanto, quando mal utilizados podem causar problemas que afetam a manutenção e o desempenho geral do sistema. Isto posto, apresentamos um catálogo contendo oito code smells ORM extraídos do estado de pesquisa e da prática, por meio de uma combinação de Rapid Review RR e Grey Literature Review (GLR). Para cada smell, também apresentamos uma solução sugerida e discussão a cerca do tema. Para avaliar o catálogo, realizamos uma pesquisa com 84 participantes. A maioria dos participantes concorda que os code smells ORM são um problema e que as soluções sugeridas são adequadas. Além do catálogo, apresentamos uma ferramenta para detectar e sugerir soluções em quatro code smells por meio de análise estática do código. Avaliamos a ferramenta quanto à precisão e revocação utilizando uma pequena aplicação de referência desenvolvida com exemplos de smells e posteriormente em quatro projetos reais extraídos do Github e do GitLab do Instituto Federal de Santa Catarina (IFSC). Aplicamos a ferramenta também em 379 projetos para análise da difusão geral dos code smells ORM, detectando 2829 smells em 75% dos projetos analisados. Em conclusão, este trabalho contribui com uma maneira sistemática de descrever os code smells ORM em um catálogo inicial, que pode ser útil tanto para pesquisadores quanto para profissionais, avaliado positivamente pelos nossos resultados iniciais, além de uma ferramenta para detecção automática por meio de análise estática do código de um subconjunto dos smells definidos.pt_BR
dc.language.isoporpt_BR
dc.publisherUniversidade Federal de Pernambucopt_BR
dc.rightsopenAccesspt_BR
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectEngenharia da Computaçãopt_BR
dc.subjectORMpt_BR
dc.subjectCode smellspt_BR
dc.subjectJavapt_BR
dc.titleCode smells no contexto de mapeamento objeto-relacional em projetos Java : um catálogo e uma ferramenta de detecçãopt_BR
dc.typemasterThesispt_BR
dc.contributor.advisor-coCARTAXO, Bruno Falcão de Souza-
dc.contributor.authorLatteshttp://lattes.cnpq.br/6906525639794139pt_BR
dc.publisher.initialsUFPEpt_BR
dc.publisher.countryBrasilpt_BR
dc.degree.levelmestradopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/2117651910340729pt_BR
dc.publisher.programPrograma de Pos Graduacao em Ciencia da Computacaopt_BR
dc.description.abstractxBad choices during software development might lead to maintenance and performance issues. Code smells are typically used to indicate such problems. A number of smells have been proposed, usually focused on generic code problems. In this work, we focus on the specifics of Object-Relational Mapping (ORM) code in Java. Developers use ORM frameworks to abstract the complexity of accessing a database. However, when poorly used, frameworks can lead to problems that might affect maintenance and overall performance of the system. Therefore, we present a catalog of eight smells extracted from the state of research and practice, through a combination of rapid review and grey literature review. For each smell, we also present a suggested solution and rationale. To evaluate the catalog, we conducted a survey with 84 respondents. The majority of the respondents agree both that the code smells are a problem, as well as that the suggested solution is adequate. In addition to the catalog, we present a tool to detect and suggest solutions in four code smells through static code analysis. We evaluated the tool for precision and recall using a small reference application developed with some examples of smells and after using real projects extracted from Github and GitLab from the Federal Institute of Santa Catarina (IFSC). The tool will also be applied in 379 projects to analyze the general diffusion of ORM code smells detecting 2829 smells in 75% of the analyzed projects. In conclusion, this work contributes with a systematic way of describing ORM code smells and an initial catalog, which can be useful for researchers and practitioners, positively evaluated by our initial results. In addition, we present a tool that detects ORM code smells through static code analysis in an automated way.pt_BR
dc.contributor.advisor-coLatteshttp://lattes.cnpq.br/3125607007070020pt_BR
Aparece en las colecciones: Dissertações de Mestrado Profissional - Ciência da Computação

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
DISSERTAÇÃO Samuel Bristot Loli.pdf3,32 MBAdobe PDFVista previa
Visualizar/Abrir


Este ítem está protegido por copyright original



Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons