Tesis
Uma extensão para a linguagem de consulta AQL
Fecha
2017-08-31Autor
Campagnolo, Fernando Quatrin
Institución
Resumen
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.