Uma extensão para a linguagem de consulta AQL
Autor(a) principal: | |
---|---|
Data de Publicação: | 2017 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Manancial - Repositório Digital da UFSM |
dARK ID: | ark:/26339/0013000000m70 |
Texto Completo: | 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. |
id |
UFSM_cf04b71ac30e857ed29399d680af7ab5 |
---|---|
oai_identifier_str |
oai:repositorio.ufsm.br:1/14714 |
network_acronym_str |
UFSM |
network_name_str |
Manancial - Repositório Digital da UFSM |
repository_id_str |
|
spelling |
Uma extensão para a linguagem de consulta AQLAn extension to the AQL query languageAQLLinguagem de consultaAOPAQLQuery languageAOPCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOSoftware 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.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESOs sistemas de software são constantemente modificados e adaptados às novas funcionalidades. Tais modificações comumente aumentam sua complexidade e podem diminuir sua qualidade. Uma das maneiras de auxiliar na gerência desta complexidade e manter um sistema de software atualizado é a aplicação de transformações em programas, mais especificamente, a aplicação de refatorações. A fim de buscar por oportunidades de refatoração nos sistemas, os desenvolvedores podem usar linguagens de consulta em código fonte. Porém, é comum encontrarmos linguagens de consulta descontinuadas, que oferecem poucos recursos e/ou são proprietárias. Esta dissertação tem como objetivo estender a linguagem AQL (Aspect Query Language) (FAVERI, 2013), uma linguagem de consulta projetada para realizar buscas em programas orientados a aspectos e programas orientados a objetos. De forma a fornecer novos recursos para a linguagem AQL, um conjunto de melhorias foi especificado e implementado, incluindo: (i) a expansão dos elementos buscados, a fim de ter uma granularidade de busca mais fina; (ii) a criação de instruções para manipular programas na linguagem alvo (inserção, atualização e remoção de elementos); (iii) algumas melhorias quanto à validação e a certas cláusulas da linguagem; e (iv) a extensão do framework AOPJungle, que fornece informações dos sistemas analisados para a implementação de referência de AQL. Para avaliar a aplicabilidade dos novos recursos da linguagem, foi realizado um estudo de caso usando a extensão da linguagem AQL como apoio na busca por oportunidades de refatoração e na aplicação de refatoração em programas orientados a objetos.Universidade Federal de Santa MariaBrasilCiência da ComputaçãoUFSMPrograma de Pós-Graduação em Ciência da ComputaçãoCentro de TecnologiaPiveta, Eduardo Kesslerhttp://lattes.cnpq.br/8687196768910831Saccol, Deise de Brumhttp://lattes.cnpq.br/7758924784164781Du Bois, André Rauberhttp://lattes.cnpq.br/3277487290886063Campagnolo, Fernando Quatrin2018-10-30T22:03:00Z2018-10-30T22:03:00Z2017-08-31info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://repositorio.ufsm.br/handle/1/14714ark:/26339/0013000000m70porAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2018-10-31T06:00:27Zoai:repositorio.ufsm.br:1/14714Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/ONGhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.comopendoar:2018-10-31T06:00:27Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false |
dc.title.none.fl_str_mv |
Uma extensão para a linguagem de consulta AQL An extension to the AQL query language |
title |
Uma extensão para a linguagem de consulta AQL |
spellingShingle |
Uma extensão para a linguagem de consulta AQL Campagnolo, Fernando Quatrin AQL Linguagem de consulta AOP AQL Query language AOP CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
title_short |
Uma extensão para a linguagem de consulta AQL |
title_full |
Uma extensão para a linguagem de consulta AQL |
title_fullStr |
Uma extensão para a linguagem de consulta AQL |
title_full_unstemmed |
Uma extensão para a linguagem de consulta AQL |
title_sort |
Uma extensão para a linguagem de consulta AQL |
author |
Campagnolo, Fernando Quatrin |
author_facet |
Campagnolo, Fernando Quatrin |
author_role |
author |
dc.contributor.none.fl_str_mv |
Piveta, Eduardo Kessler http://lattes.cnpq.br/8687196768910831 Saccol, Deise de Brum http://lattes.cnpq.br/7758924784164781 Du Bois, André Rauber http://lattes.cnpq.br/3277487290886063 |
dc.contributor.author.fl_str_mv |
Campagnolo, Fernando Quatrin |
dc.subject.por.fl_str_mv |
AQL Linguagem de consulta AOP AQL Query language AOP CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
topic |
AQL Linguagem de consulta AOP AQL Query language AOP CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
description |
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. |
publishDate |
2017 |
dc.date.none.fl_str_mv |
2017-08-31 2018-10-30T22:03:00Z 2018-10-30T22:03:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://repositorio.ufsm.br/handle/1/14714 |
dc.identifier.dark.fl_str_mv |
ark:/26339/0013000000m70 |
url |
http://repositorio.ufsm.br/handle/1/14714 |
identifier_str_mv |
ark:/26339/0013000000m70 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 International http://creativecommons.org/licenses/by-nc-nd/4.0/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 International http://creativecommons.org/licenses/by-nc-nd/4.0/ |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
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 |
publisher.none.fl_str_mv |
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 |
dc.source.none.fl_str_mv |
reponame:Manancial - Repositório Digital da UFSM instname:Universidade Federal de Santa Maria (UFSM) instacron:UFSM |
instname_str |
Universidade Federal de Santa Maria (UFSM) |
instacron_str |
UFSM |
institution |
UFSM |
reponame_str |
Manancial - Repositório Digital da UFSM |
collection |
Manancial - Repositório Digital da UFSM |
repository.name.fl_str_mv |
Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM) |
repository.mail.fl_str_mv |
atendimento.sib@ufsm.br||tedebc@gmail.com |
_version_ |
1815172258153365504 |