Autor |
Kupssinskü, Lucas Silveira; |
Lattes do autor |
http://lattes.cnpq.br/7949995756060059; |
Orientador |
Gluz, João Carlos; |
Lattes do orientador |
http://lattes.cnpq.br/5782887287137603; |
Instituição |
Universidade do Vale do Rio dos Sinos; |
Sigla da instituição |
Unisinos; |
País da instituição |
Brasil; |
Instituto/Departamento |
Escola Politécnica; |
Idioma |
pt_BR; |
Título |
MITRAS : modelo inteligente para transformação de aplicações de software; |
Resumo |
Manutenção de sistemas é uma atividade custosa tanto para desenvolvedores quanto para usuários finais. Dessa forma, novas ideias e tecnologias se fazem necessárias para diminuir o esforço empregado nesse tipo de atividade. Essa dissertação realiza a apresentação do sistema MITRAS, que usa um modelo inteligente para transformação de aplicações de software visando fornecer a usuários sem experiência em desenvolvimento a capacidade de realizar modificações em sistemas a partir de uma explanação em linguagem natural. Isto é possível combinando de uma nova forma ferramentas encontradas no estado da arte para processamento de linguagem natural e transformação de grafos aplicadas a modelos de software. O MITRAS trabalha com manutenções perfectivas e adaptativas (conforme classificação adotada pela IEEE). Esses tipos de manutenção não ocorrem devido a erros, mas em melhorias identificadas por usuários em sistemas que já estão em funcionamento. As solicitações do usuário e as respectivas modificações foram mapeadas em um modelo de grafos que permite a aplicação de conceitos de transformação de grafos para modelar e operacionalizar modificações de sistema. O sincronismo entre modelo de grafos e código fonte é abordado através de um processo de extração automatizada do modelo e de um processo de injeção diferencial de código fonte. Esse trabalho apresenta tanto a base teórica formal do modelo quanto aspectos práticos de um protótipo desenvolvido em um repositório open source real. Os resultados do modelo são avaliados de duas formas: em laboratório para aferir tempo de execução e complexidade do sistema; e via experimentos com usuários, de modo a comparar as modificações feitas com auxílio do MITRAS com as modificações realizadas por um desenvolvedor. Os experimentos realizados indicaram que desenvolvedores e usuários conseguiram realizar as alterações propostas em 92% dos casos, porém usuários com acesso ao MITRAS levaram em média 8 minutos enquanto desenvolvedores levar em média 26 minutos.; |
Abstract |
Software maintenance is costly for developers and customers as well. In this regard, new ideas and technologies are necessary to minimize the effort in this type of activity. This dissertation presents MITRAS project, an intelligent model for software transformation that enables users without programming knowledge to do modifications in systems via interaction in natural language. This is made possible combining state of the art tools and techniques in natural language processing and graph transformations applied to software models. MITRAS is designed to work with adaptive and perfective type of maintenances (as classified by IEEE), this maintenance do not imply that the system has an error, but that there is need for improvements identified by the user in already deployed systems User requests and the respective modifications are mapped in graphs that can be used in a graph transformation process that models system modifications. Synchronism between graph model and source code is maintained through automatic model extraction and differential code injection. This work presents both formal theoretical foundations and practical aspects of MITRAS computational model and a prototype developed and tested against a real open source Project. The model results are assessed using two methods, the first one aims to check execution time and complexity of the system, the second one compares the results of a user of MITRAS and software developers. The experiments are presenting good results so far, indicating that users can do simple maintenance tasks with MITRAS in less time then developers but with similar correctness.; |
Palavras-chave |
Transformações de Grafo; Manutenção de Software; Processamento de Linguagem Natural; Graph Transformation; Software Maintenance; Natural Language Processing; |
Área(s) do conhecimento |
ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação; |
Tipo |
Dissertação; |
Data de defesa |
2019-03-07; |
Agência de fomento |
CNPQ – Conselho Nacional de Desenvolvimento Científico e Tecnológico; |
Direitos de acesso |
openAccess; |
URI |
http://www.repositorio.jesuita.org.br/handle/UNISINOS/7792; |
Programa |
Programa de Pós-Graduação em Computação Aplicada; |