Uma extensão para a linguagem de consulta AQL

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Campagnolo, Fernando Quatrin
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
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:
AQL
AOP
Link de acesso: http://repositorio.ufsm.br/handle/1/14714
Resumo: Software systems are constantly modified and adapted to new features. These modifications usually increase their complexity and decrease their quality. One way to improve these features and keep an updated software system is to apply changes in programs, more specifically, refactoring. To find refactoring opportunities in systems, developers can use source code query languages. However, it is common to find discontinued query languages, which offer few resources and/or are proprietary. The main goal of this dissertation is to extend the AQL language (Aspect Query Language). AQL was designed to provide code search in aspect-oriented and object-oriented programs. To provide new features to the AQL language, a set of improvements was specified and implemented, including: (i) the expansion of the element search set, to improve the search granularity; (ii) the creation of instruction to manipulate program data (inserting, updating, and deleting elements); (iii) improvements in some clauses and language validation; and (iv) the extension of the AOPJungle framework, responsible for extracting data from the analyzed systems to the AQL reference implementation. To show the applicability of the new features, a study of case was conducted using the AQL extension to find refactoring opportunities and to apply refactorings in object-oriented programs.