Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte

Detalhes bibliográficos
Ano de defesa: 2012
Autor(a) principal: Fillus, Edison Klafke
Orientador(a): Vergilio, Silvia Regina, 1966-
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: Não Informado pela instituição
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:
Link de acesso: https://hdl.handle.net/1884/28712
Resumo: Orientadora: Profª Drª Silvia Regina Vergilio
id UFPR_de08c82efab60716da623a72a671a1f1
oai_identifier_str oai:acervodigital.ufpr.br:1884/28712
network_acronym_str UFPR
network_name_str Repositório Institucional da UFPR
repository_id_str
spelling Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaVergilio, Silvia Regina, 1966-Fillus, Edison Klafke2024-10-31T19:15:35Z2024-10-31T19:15:35Z2012https://hdl.handle.net/1884/28712Orientadora: Profª Drª Silvia Regina VergilioDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 27/06/2012Bibliografia: fls. 98-103Resumo: A programação Orientação a Aspectos (AO) visa a solucionar alguns problemas da orientação a objetos (OO) relativos aos chamados interesses transversais, tais como funcionalidades duplicadas, espalhamento de funcionalidades e funcionalidades entrelaçadas. Os aspectos modularizam requisitos não funcionais que precisam estar presentes em várias partes do sistema e são encaixados conforme a necessidade por pontos de corte nos objetos a serem afetados. Para usufruir destes benefícios é necessário um processo de identificação e separação dos interesses base e transversais, o que é uma tarefa árdua e trabalhosa. A Mineração de Aspectos tem como objetivo automatizar este processo. Várias técnicas para identificar automaticamente os interesses transversais existem. Dentre estas, destaca-se a análise de agrupamento que _e capaz de descobrir possíveis candidatos a aspectos sem que seja necessário o conhecimento prévio das particularidades do sistema. Entretanto, a maioria das abordagens baseadas nesta técnica não utilizam uma medida de distância que considera diferentes características associadas aos sintomas de interesses transversais. Além disso, as abordagens carecem de instrumentos que permitam a eliminação de interesses base ou a rápida separação dos potenciais interesses transversais. Outra limitação é que elas não fornecem auxílio na identificação de pontos de corte. Considerando este fato, o objetivo principal deste trabalho é contribuir para a área de mineração de aspectos em código fonte baseada em análise de agrupamento através da proposição da abordagem CAAMPI, que contempla a definição de uma medida de distância que combina os sintomas de espalhamento, código duplicado e convenção de nomes. Além disso, a abordagem utiliza um filtro baseado na técnica de fan-in para a eliminação parcial de interesses base e permite a identificação de pontos de corte utilizando regras de associação e a ordenação dos grupos obtidos na fase de agrupamento de acordo com seu potencial de pertencer a um interesse transversal. O trabalho também descreve o framework CAAMPI4J, que define e implementa a abordagem CAAMPI para a análise de código fonte Java. O CAAMPI4J foi utilizado em experimentos com três sistemas reais, nos quais foram avaliadas diferentes combinações de medidas e tipos de algoritmos de agrupamento. Os resultados dos experimentos demonstram que a medida de distância proposta obteve melhores resultados que as medidas existentes, e que os pontos de corte identificados são realmente aproveitados nas versões refatoradas para aspectos dos sistemas OO utilizados. Além disso, a ordenação de grupos viabiliza a definição de critérios quantitativos para a priorização da análise e refatoração dos candidatos a aspectos.Abstract: The aspect-oriented (AO) programming aims at solving some of the object-oriented (OO) problems related to the called crosscutting concerns, such as code cloning, scattering and tangling. The aspects modularizes non-functional requirements that need to be spread in several parts of the system, and can be joined by pointcuts on objects that are a_ected by these concerns. To bene_t from AO, the software needs to go through a concern decomposition process, in which the core and crosscutting concerns are identi_ed and separated. This is a hard and labour-intensive task. The goal of the Aspect Mining _eld is to automate this process. To do this, di_erent techniques exist. Among them the technique based on clustering analysis is able to discover potential aspects associated to the existing crosscutting concerns without requiring prior knowledge of the software characteristics. However, the approaches based on this technique do not use a distance measure that considers di_erent characteristics of the crosscutting concern symptoms. Moreover, they do not allow neither the elimination of base concerns nor the isolation of potential crosscutting concerns. Other limitation is that they do not help in the identi_cation of the point cuts. Due to this fact, the main objective of this work is to contribute for the aspect mining area based on clustering analysis by proposing the CAAMPI approach, which introduces a distance measure that combines scattering, code cloning and naming convention symptoms. Moreover, the approach adopts fan-in analysis for partially eliminating core concerns. It allows the identi_cation of pointcuts by using association rules, and the ranking of groups obtained in the cluster analysis that potentially belong to a crosscutting concern. The work also describes the framework CAAMPI4J, for Java source code analysis. The CAAMPI4J was used in experiments with three real systems, which evaluated di_erent combinations of distance measures and clustering algorithms. The experimental results show that the proposed distance measure obtains better results than the most used distance measures, and the identi_ed pointcuts are in fact implemented in the AO versions of the systems. In addition to this, the group ranking enables the de_nition of quantitative criteria for aspect candidates prioritization and refactoring.168f. : il., grafs., tabs.application/pdfDisponível em formato digitalSoftware - DesenvolvimentoProgramação (Computadores)Java (Linguagem de programação de computador)Ciência da computaçãoCaampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corteinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALR - D - EDISON KLAFKE FILLUS.pdfapplication/pdf2188051https://acervodigital.ufpr.br/bitstream/1884/28712/1/R%20-%20D%20-%20EDISON%20KLAFKE%20FILLUS.pdfff0e9eeb93adeb3fad98eb17ff258470MD51open accessTEXTR - D - EDISON KLAFKE FILLUS.pdf.txtExtracted Texttext/plain623784https://acervodigital.ufpr.br/bitstream/1884/28712/2/R%20-%20D%20-%20EDISON%20KLAFKE%20FILLUS.pdf.txt9a796b963c3bcf198884010b1a5de55dMD52open accessTHUMBNAILR - D - EDISON KLAFKE FILLUS.pdf.jpgGenerated Thumbnailimage/jpeg1192https://acervodigital.ufpr.br/bitstream/1884/28712/3/R%20-%20D%20-%20EDISON%20KLAFKE%20FILLUS.pdf.jpg5d8ba5ee54842db36054813f760c4332MD53open access1884/287122024-10-31 16:15:35.736open accessoai:acervodigital.ufpr.br:1884/28712Repositório InstitucionalPUBhttp://acervodigital.ufpr.br/oai/requestinformacaodigital@ufpr.bropendoar:3082024-10-31T19:15:35Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false
dc.title.pt_BR.fl_str_mv Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
title Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
spellingShingle Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
Fillus, Edison Klafke
Software - Desenvolvimento
Programação (Computadores)
Java (Linguagem de programação de computador)
Ciência da computação
title_short Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
title_full Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
title_fullStr Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
title_full_unstemmed Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
title_sort Caampi : uma abordagem baseada em técnicas de agrupamento para mineração de aspectos e identificação de pontos de corte
author Fillus, Edison Klafke
author_facet Fillus, Edison Klafke
author_role author
dc.contributor.other.pt_BR.fl_str_mv Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática
dc.contributor.advisor1.fl_str_mv Vergilio, Silvia Regina, 1966-
dc.contributor.author.fl_str_mv Fillus, Edison Klafke
contributor_str_mv Vergilio, Silvia Regina, 1966-
dc.subject.por.fl_str_mv Software - Desenvolvimento
Programação (Computadores)
Java (Linguagem de programação de computador)
Ciência da computação
topic Software - Desenvolvimento
Programação (Computadores)
Java (Linguagem de programação de computador)
Ciência da computação
description Orientadora: Profª Drª Silvia Regina Vergilio
publishDate 2012
dc.date.issued.fl_str_mv 2012
dc.date.accessioned.fl_str_mv 2024-10-31T19:15:35Z
dc.date.available.fl_str_mv 2024-10-31T19:15:35Z
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 https://hdl.handle.net/1884/28712
url https://hdl.handle.net/1884/28712
dc.language.iso.fl_str_mv por
language por
dc.relation.pt_BR.fl_str_mv Disponível em formato digital
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 168f. : il., grafs., tabs.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPR
instname:Universidade Federal do Paraná (UFPR)
instacron:UFPR
instname_str Universidade Federal do Paraná (UFPR)
instacron_str UFPR
institution UFPR
reponame_str Repositório Institucional da UFPR
collection Repositório Institucional da UFPR
bitstream.url.fl_str_mv https://acervodigital.ufpr.br/bitstream/1884/28712/1/R%20-%20D%20-%20EDISON%20KLAFKE%20FILLUS.pdf
https://acervodigital.ufpr.br/bitstream/1884/28712/2/R%20-%20D%20-%20EDISON%20KLAFKE%20FILLUS.pdf.txt
https://acervodigital.ufpr.br/bitstream/1884/28712/3/R%20-%20D%20-%20EDISON%20KLAFKE%20FILLUS.pdf.jpg
bitstream.checksum.fl_str_mv ff0e9eeb93adeb3fad98eb17ff258470
9a796b963c3bcf198884010b1a5de55d
5d8ba5ee54842db36054813f760c4332
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)
repository.mail.fl_str_mv informacaodigital@ufpr.br
_version_ 1847526189105676288