Uma extensão para a linguagem de consulta AQL

Detalhes bibliográficos
Autor(a) principal: Campagnolo, Fernando Quatrin
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