Please use this identifier to cite or link to this item: http://repositorio.ufersa.edu.br/handle/prefix/914
metadata.dc.type: Dissertação
Title: Priorização de anomalias arquiteturais versus refatoração de artefatos de código: um estudo envolvendo sistemas de software em evolução
metadata.dc.creator: Macedo, Robson Locatelli
metadata.dc.contributor.advisor1: Medeiros Neto, Francisco Dantas de
metadata.dc.contributor.referee1: Araújo, Daniel Sabino Amorim de
metadata.dc.contributor.referee2: Fonseca, Carlos André Guerra
metadata.dc.contributor.referee3: Lucena, Márcia Jacyntha Nunes Rodrigues
metadata.dc.description.resumo: Projetos arquiteturais de software tendem a evoluir priorizando o reuso de seus componentes, de modo a promover a evolução dos artefatos de código livre de refatorações não esperadas. No entanto, este reuso nem sempre acontece como esperado, devido principalmente a problemas estruturais dos projetos, oriundos de falta de planejamento e constantes refatorações. Problemas estruturais, em sua maioria, estão relacionados à existência de anomalias arquiteturais e ao escopo crescente de seus componentes. O escopo de um componente arquitetural refere-se ao percentual de dependência que ele possui em relação aos demais componentes do sistema. Infelizmente, existe uma carência de estudos que abordam a priorização de anomalias arquiteturais como forma de minimizar operações indesejadas de refatoração de código. Sabe-se que a ordem de tratamento das anomalias interfere diretamente no número de operações de refatoração. Neste contexto, há uma demanda crescente por estratégias capazes de priorizar o tratamento de anomalias arquiteturais de modo a minimizar o número de operações de refatoração. Este trabalho de pesquisa de mestrado analisou três sistemas de software em evolução, com o objetivo de prover suporte a priorização do tratamento de anomalias de modo a interferir na refatoração de elementos de código de sistemas de software em evolução. Neste contexto, emergem as contribuições: (i) Definição de mecanismos capazes de relacionar a ocorrência de anomalias arquiteturais com o número de operações de refatoração que acontecem no código, (ii) Desenvolvimento de uma solução computacional e (iii) resultados empíricos. Entendemos que os mecanismos para relação das anomalias arquiteturais com as operações de refatoração no código em (i) e o desenvolvimento de uma solução computacional em (ii), serão úteis para apoiar desenvolvedores e arquitetos na tomada de decisão acerca da priorização no tratamento de anomalias arquiteturais. Para as três aplicações avaliadas, o escopo mostrou ser um forte indicador para priorização no tratamento de anomalias para projetos arquiteturais menos refatorados. Ao priorizar adequadamente o tratamento de anomalias arquiteturais espera-se contribuir para a construção de projetos arquiteturais com menos problemas estruturais
Abstract: Software architectural projects tend to evolve prioritizing the reuse of their components in order to avoid code refactoring. However, this reuse does not always happen as expected, mainly due to structural problems of the projects, lack of planning and constant refactorings. In general, structural problems are related to the existence of architectural anomalies and to the increasing scope of its components. The scope of an architectural component refers to the percentage of dependence that it has in relation to the other components of the system. Unfortunately, there is a lack of studies that address the prioritization of architectural anomalies as a way to minimize unwanted code refactoring operations. It is known that anomalies treatment order impacts directly on the number of refactoring operations. In this context, there is a growing demand for strategies capable of prioritizing the treatment of architectural anomalies in order to minimize the number of refactoring operations. This master’s research work analyzed three evolving software systems, with the objective of providing support for the prioritization of the handling of anomalies in order to interfere in the refactoring of code elements of evolving software systems. In this context, the contributions emerge: (i) Definition of mechanisms capable of relating the occurrence of architectural anomalies with the number of refactoring operations that occur in the code, (ii) development of a computational solution, and (iii) empirical results. We understand that the mechanisms for relation of architectural anomalies with code refactoring operations in (i) and the development of a computational solution in (ii), will be useful to support developers and architects in the decision making about prioritization in the treatment of anomalies architecture. For the three applications evaluated, the scope proved to be a strong indicator for prioritization in the treatment of anomalies for less refactored architectural projects. When properly prioritizing the treatment of architectural anomalies, it is expected to contribute to the construction of architectural projects with fewer structural problems
Keywords: Anomalias arquiteturais
Sistemas em evolução
Refatoração
Escopo
Priorização
Architectural bad smells
Evolving systems
Refactoring
Scope
Prioritization
metadata.dc.subject.cnpq: CNPQ::CIENCIAS EXATAS E DA TERRA
metadata.dc.language: por
metadata.dc.publisher.country: Brasil
Publisher: Universidade Federal Rural do Semi-Árido
metadata.dc.publisher.initials: UFERSA
metadata.dc.publisher.department: Departamento de Ciências Agrônomicas e Florestais
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação
Citation: Citação com autor incluído no texto: Macedo (2018) Citação com autor não incluído no texto: (MACEDO, 2018)
metadata.dc.rights: Acesso Aberto
URI: http://repositorio.ufersa.edu.br/handle/prefix/914
Issue Date: 28-Mar-2018
Appears in Collections:MESTRADO EM CIÊNCIA DA COMPUTAÇÃO

Files in This Item:
File Description SizeFormat 
RobsonLM_DISSERT.pdf1.73 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.