Uma abordagem para classificação e sugestão de atualizações em máquinas de estado a partir de mudanças no código-fonte.
Ano de defesa: | 2019 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de Campina Grande
Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/8224 |
Resumo: | Durante o processo de desenvolvimento de software, são elaborados diversos tipos de artefatos que representam níveis de abstrações e visões diferentes. Dentre estes artefatos, as Máquinas de Estado Comportamentais (ME) UML, são um dos modelos mais utilizados para representação do comportamento dinâmico do software. Devido às constantes mudanças que ocorrem no código-fonte do software, o comportamento ou características do sistema podem sofrer alterações, e com isso, as MEs podem necessitar, também, de atualizações, que demandam tempo e esforço. Neste trabalho, propomos uma abordagem para classificar e sugerir alterações nas MEs com base nas mudanças em código-fonte, tendo foco nos elementos de Estado e Transição. Essa abordagem é composta por uma taxonomia para alterações em MEs, um mapeamento entre as alterações em MEs e mudanças de código-fonte, um algoritmo capaz de classificar e sugerir essas alterações em MEs, e uma ferramenta que implementa o algoritmo proposto para utilização real. Foi realizado um estudo com projetos reais, onde foram avaliadas a precisão e cobertura da abordagem proposta, que alcançou uma taxa de precisão de 65,60% e uma cobertura de 50,80%. Desse modo, pode-se obter as alterações nas MEs e assim aplicá-las, necessitando de uma validação das sugestões, possibilitando uma redução de esforço nesse tipo de atividade. |