Mostrar registro simples

dc.creatorFaveri, Cristiano de
dc.date.accessioned2014-12-15
dc.date.available2014-12-15
dc.date.issued2013-08-28
dc.identifier.citationFAVERI, Cristiano de. A DOMAIN SPECIFIC LANGUAGE FOR ASPECT-ORIENTED CODE QUERY. 2013. 142 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2013.por
dc.identifier.urihttp://repositorio.ufsm.br/handle/1/5435
dc.description.abstractEnsuring code quality is crucial in software development. Not seldom, developers resort to static analysis tools to assist them in both understanding pieces of code and identifying defects or refactoring opportunities during development activities. A critical issue when defining such tools is their ability to obtain information about code. Static analysis tools depend, in general, of an intermediate program representation to identify locations that meet the conditions described in their algorithms. This perspective can be enlarged when techniques of crosscutting concerns modularization, such as aspect-oriented programming (AOP) is applied. In AOP applications, a piece of code can be systematically affected, using both static and dynamic combinations. The main goal of this dissertation is the specification and the implementation of AQL, a domain-specific language (DSL) designed to search aspect-oriented code bases. AQL is a declarative language, based on object query language (OQL), which enables the task of querying elements, relationships and program metrics to support the construction of static analysis and code searching tools for aspect oriented programs. The language was designed in two steps. First, we built a framework (AOPJungle), responsible to extract data from aspect-oriented programs. AOPJungle performs the computation of metrics, inferences and connections between the elements of the program. In the second step, we built an AQL compiler as a reference implementation. We adopted a source-to-source transformation for this step, in which an AQL query is transformed into HQL statements before being executed. In order to evaluate the reference implementation, we developed a static analysis tool for identifying refactoring opportunities in aspect-oriented programs. This tool receives a set of AQL queries to identify potential scenarios where refactoring could be applied.eng
dc.formatapplication/pdfpor
dc.languageporpor
dc.publisherUniversidade Federal de Santa Mariapor
dc.rightsAcesso Abertopor
dc.subjectProgramação orientada a aspectospor
dc.subjectLinguagem de consultapor
dc.subjectLinguagem de programaçãopor
dc.subjectLinguagem específica de domíniopor
dc.subjectAspect oriented programmingeng
dc.subjectQuery languageeng
dc.subjectProgramming languageeng
dc.subjectDomain specific languageeng
dc.titleUma linguagem específica de domínio para consulta em código orientado a aspectospor
dc.title.alternativeA domain specific language for aspect-oriented code queryeng
dc.typeDissertaçãopor
dc.description.resumoAssegurar a qualidade de código é um ponto crucial durante o desenvolvimento de software. Frequentemente, os desenvolvedores recorrem às ferramentas de análise estática para auxiliá-los tanto na compreensão de código, quanto na identificação de defeitos ou de oportunidades de refatoração durante o ciclo de desenvolvimento de aplicações. Um dos pontos críticos na definição de tais ferramentas está na sua capacidade de obter informações a respeito de código. As ferramentas de análise estática dependem, em geral, de uma representação intermediária de um programa para identificar situações que atendam às condições necessárias descritas em seus algoritmos. Esse panorama se amplia com o uso de técnicas de modularização de interesses transversais, tais como a programação orientada a aspectos (POA), na qual um código pode ser afetado de forma sistêmica, por meio de combinações estáticas e dinâmicas. O principal objetivo desta dissertação é a especificação e implementação de AQL, uma DSL (linguagem específica de domínio) para a realização de busca em código orientado a aspectos. A AQL é uma linguagem declarativa, baseada em linguagem de busca em objetos (OQL) e que permite consultar elementos, relações, derivações e métricas de um programa orientado a aspectos (OA), a fim de apoiar a construção de ferramentas de análise estática e de pesquisa em código. O projeto de implementação da linguagem foi realizado em duas etapas. Primeiro, foi criado um framework (AOPJungle) para a extração de dados de programas OA. O AOPJungle além de extrair dados de programas OA, realiza a computação de métricas, inferências e ligações entre os elementos de um programa. Na segunda etapa, um compilador de referência para AQL foi construído. A abordagem adotada foi a transformação fonte a fonte, sendo uma consulta AQL transformada em uma consulta HQL (Hibernate Query Language) antes de sua execução. A fim de avaliar a implementação proposta, uma ferramenta de análise estática para identificação de oportunidades de refatoração em programas AO foi elaborada, usando a AQL para a busca de dados sobre esses programas.por
dc.contributor.advisor1Piveta, Eduardo Kessler
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/8687196768910831por
dc.contributor.referee1Vizzotto, Juliana Kaizer
dc.contributor.referee1Latteshttp://lattes.cnpq.br/4384914116033913por
dc.contributor.referee2Nunes, Ingrid Oliveira de
dc.contributor.referee2Latteshttp://lattes.cnpq.br/1272997735344283por
dc.publisher.countryBRpor
dc.publisher.departmentCiência da Computaçãopor
dc.publisher.initialsUFSMpor
dc.publisher.programPrograma de Pós-Graduação em Informáticapor
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor


Arquivos deste item

Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples