Skip navigation
Use este identificador para citar ou linkar para este item: https://repositorio.ufpe.br/handle/123456789/37903

Compartilhe esta página

Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorCORNÉLIO, Márcio Lopes-
dc.contributor.authorOLIVEIRA, Everton Rennê Barros de-
dc.date.accessioned2020-09-10T19:18:59Z-
dc.date.available2020-09-10T19:18:59Z-
dc.date.issued2020-02-14-
dc.identifier.citationOLIVEIRA, Everton Rennê Barros de. Relação entre refatorações e code smells na evolução de projetos de software e seu reflexo em medidas de software. 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/37903-
dc.description.abstractA refatoração ou refactoring, é a atividade de melhorar o código fonte sem afetar o comportamento observável do software, com vistas a reuso, legibilidade e facilidade de manutenção. A refatoração é útil para transformação de trechos de código com baixa qualidade e que se enxerga uma oportunidade de melhoria. Estes trechos também são conhecidos como code smells (código com “cheiro”) ou bad smells (código que “cheira mal”). Observamos como projetos de software evoluíram a partir da relação entre as refatorações e code smells, sob a perspectiva das medidas de software ao longo do ciclo de evolução do software. Desenvolvemos a ferramenta RefactoringLink a fim de identificar code smells que foram introduzidos ao longo do desenvolvimento, bem como aqueles que desapareceram. Outra funcionalidade da ferramenta é a de capturar as refatorações que ocorreram entre as versões de um software, com a finalidade de identificar quais foram os recursos afetados por essas transformações e assim criar uma associação entre a refatoração e o code smell. Investigamos 11.593 versões em 427 projetos Java/Android, hospedados em repositórios de software público. Em nossos achados, foi possível detectar 4.555.351 code smells e um total de 197.525 refatorações. Identificamos que apenas 2.3% (4.508) das refatorações resultaram em correção direta de 0.13% (5.354) dos code smells. Coletamos 37 medidas de software para cada classe de cada versão dos projetos analisados. Analisamos cinco medidas de software específicas de orientação a objetos em três cenários para observar o reflexo nas medidas quando na existência ou não de refatoração ou code smell. Os achados indicam que as medidas de software podem sofrer variações em razão da inclusão de novas funcionalidades ou manutenção do código que é realizada ao longo da evolução do software, indo além de mudanças advindas de refatorações. Apresentamos um comparativo das medidas em 15 classes de projetos distintos que tiveram a presença de refatoração, code smell e da correção de code smell a partir de uma refatoração.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 de softwarept_BR
dc.subjectMedidas de softwarept_BR
dc.titleRelação entre refatorações e code smells na evolução de projetos de software e seu reflexo em medidas de softwarept_BR
dc.typemasterThesispt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/3146076518372108pt_BR
dc.publisher.initialsUFPEpt_BR
dc.publisher.countryBrasilpt_BR
dc.degree.levelmestradopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/3776948564582273pt_BR
dc.publisher.programPrograma de Pos Graduacao em Ciencia da Computacaopt_BR
dc.description.abstractxRefactoring is the activity of improving the source code without affecting the observable behavior of the software, with a view to reuse, readability, and maintenance. Refactoring is useful to change low-quality code snippets that there is an opportunity for improvement. This code is also known as code smells or bad smells (code that looks strange and almost smells bad). We observed how software projects evolved from the relationship between refactorings and code smells, from the perspective of software metric throughout the software evolution history. We developed the RefactoringLink tool in order to identify code smells that were introduced during development, as well as those that disappeared. Another feature of the tool is to capture the refactorings that occurred between versions in order to identify which resources were affected by these transformations and thus create a link between refactoring and code smell. We investigated 11,593 versions in 427 Java/Android projects, hosted on public software repositories. In our findings, it was possible to detect 4,555,351 code smells and a total of 197,525 refactorings. We found that only 2.3% (4,508) of refactorings resulted in a direct correction of code smells, this means that we only detected that 0.13% (5,354) of code smells were fixed by a refactoring action, intentional or not. We collected 37 software metrics for each class of each version of the analyzed projects. We analyzed five specific object-oriented software metrics in three scenarios to observe the reflection in the measures when refactoring or code smell exists or not. The findings indicate that the software metrics may suffer variations due to the addition of new features or maintenance of the code. It's natural for software to be evolved beyond changes resulting from refactorings. We present a comparison of the measures in 15 classes of different projects that had the presence of refactoring, code smell and the correction of code smell from refactoring.pt_BR
Aparece nas coleções:Dissertações de Mestrado - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
DISSERTAÇÃO Everton Rennê Barros de Oliveira.pdf13,7 MBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



Este item está licenciada sob uma Licença Creative Commons Creative Commons