Priorização de anomalias arquiteturais versus refatoração de artefatos de código: um estudo envolvendo sistemas de software em evolução - Macedo, Robson Locatelli (Universidade Federal Rural do Semi-Árido, 2018)
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; CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO