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.