Priorização de anomalias arquiteturais versus refatoração de artefatos de código: um estudo envolvendo sistemas de software em evolução
Autor: | Macedo, Robson Locatelli |
---|---|
Přispěvatelé: | Medeiros Neto, Francisco Dantas de, Araújo, Daniel Sabino Amorim de, Fonseca, Carlos André Guerra, Lucena, Márcia Jacyntha Nunes Rodrigues |
Jazyk: | portugalština |
Rok vydání: | 2018 |
Předmět: | |
Zdroj: | Biblioteca Digital de Teses e Dissertações da UFERSA Universidade Federal Rural do Semi-Árido (UFERSA) instacron:UFERSA |
Popis: | Submitted by Wiqlifi Bruno de Freitas Melo (wbruno@ufersa.edu.br) on 2019-02-06T11:16:51Z No. of bitstreams: 1 RobsonLM_DISSERT.pdf: 1770953 bytes, checksum: 812a0080441123387e5ba468bcc11be0 (MD5) Approved for entry into archive by Vanessa Christiane (referencia@ufersa.edu.br) on 2019-02-15T16:18:39Z (GMT) No. of bitstreams: 1 RobsonLM_DISSERT.pdf: 1770953 bytes, checksum: 812a0080441123387e5ba468bcc11be0 (MD5) Approved for entry into archive by Vanessa Christiane (referencia@ufersa.edu.br) on 2019-02-15T16:18:47Z (GMT) No. of bitstreams: 1 RobsonLM_DISSERT.pdf: 1770953 bytes, checksum: 812a0080441123387e5ba468bcc11be0 (MD5) Made available in DSpace on 2019-02-15T16:18:54Z (GMT). No. of bitstreams: 1 RobsonLM_DISSERT.pdf: 1770953 bytes, checksum: 812a0080441123387e5ba468bcc11be0 (MD5) Previous issue date: 2018-03-28 Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES 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 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 |
Databáze: | OpenAIRE |
Externí odkaz: |