Dissertação

An Interactive Tool for Computer - Aided Refactorization of Java Source Code EVALUATED

Refactorizações de código são aterações à estrutura do código se alterar o comportamento do programa. Elas são aplicadas com o objectivo de tornar o código mais fácil de compreender e modificar. Muitos IDEs (Integrated Development Environments) já fazem refactorizações. Alguns permitem até que o utilizador programe as suas próprias refactorizações, como é o caso do Eclipse. Contudo a framework the o Eclipse disponibiliza para implementar as refactorizações, é díficil de aprender e não permite um desenvolvimento interactivo. Para facilitar a tarefa de criar uma refactorização existem ferramentas de scripting que, ou são autónomas (Recoder e Inject/J), ou estão integradas num IDE (R2, R3, JTransformer e JunGL). As ferramentas actuais usam DSLs (Domain Specific Languages), a linguagem do código alvo da transformação (neste caso Java), ou liguaguens de uso geral como Prolog. As ferramentas que usam liguagens com o paradigma imperativo não permitem definir as pesquisas de formas tão expressivas como as linguagens que usam o paradigma declarativo. O nosso trabalho é uma ferramenta de scripting de transformações, que combina o paradigma declarativo para as pesquisas e o paradigma imperativo para as transformações. Em vez de uma DSL usamos JavaScript como linguagem de scripting. Avaliou-se a ferramenta, criando alguns scripts para transformações académicas e criando duas transformações ao código do projecto FenixEdu.
Refactorização, Interactiva, JTransformer, Java, JavaScript

junho 7, 2017, 16:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Luís Jorge Brás Monteiro Guerra e Silva

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Artur David Félix Ventura

DSI / IST

Especialista