http://lattes.cnpq.br/2545984407551728; BARBOSA, Matheus de Oliveira.
Resumo:
During the software development process, various types of artifacts are created that represent levels of abstractions and different views. Among these artifacts, the Behavioral State Machines (SM) UML, are one of the most used models to represent the dynamic behavior of the software. Due to the constant changes that occur in the source code of the software, the behavior or characteristics of the system may change, and with this, the SMs require updates and that demand time and effort. In this work, we propose an approach to classify and suggest changes in SMs based on changes in source code, focusing on the elements of State and Transition. This approach is composed of a taxonomy for changes in SMs, a mapping between changes in SMs and source code changes, an algorithm capable of classifying and suggesting these changes in SMs, and a tool that implements the algorithm proposed for actual use. A study with real projects was carried out, where the accuracy and coverage of the proposed approach were evaluated, achieving a precision rate of 65.60% and coverage of 50.80%. In this way, it is possible to obtain the changes in the SMs and thus to apply them, requiring a validation of the suggestions, allowing a reduction of effort in this type of activity.