
Atenção:
O eduCAPES é um repositório de objetos educacionais, não sendo responsável por materiais de terceiros submetidos na plataforma. O usuário assume ampla e total responsabilidade quanto à originalidade, à titularidade e ao conteúdo, citações de obras consultadas, referências e outros elementos que fazem parte do material que deseja submeter. Recomendamos que se reporte diretamente ao(s) autor(es), indicando qual parte do material foi considerada imprópria (cite página e parágrafo) e justificando sua denúncia.
Caso seja o autor original de algum material publicado indevidamente ou sem autorização, será necessário que se identifique informando nome completo, CPF e data de nascimento. Caso possua uma decisão judicial para retirada do material, solicitamos que informe o link de acesso ao documento, bem como quaisquer dados necessários ao acesso, no campo abaixo.
Todas as denúncias são sigilosas e sua identidade será preservada. Os campos nome e e-mail são de preenchimento opcional. Porém, ao deixar de informar seu e-mail, um possível retorno será inviabilizado e/ou sua denúncia poderá ser desconsiderada no caso de necessitar de informações complementares.
| Metadados | Descrição | Idioma |
|---|---|---|
| Autor(es): dc.contributor | Figueiredo, Eduardo | - |
| Autor(es): dc.contributor | Costa, Heitor Augustus Xavier | - |
| Autor(es): dc.contributor | Figueiredo, Eduardo Magno Lages | - |
| Autor(es): dc.contributor | Cirilo, Elder José Reioli | - |
| Autor(es): dc.contributor | Villela, Ricardo Terra Nunes Bueno | - |
| Autor(es): dc.creator | Abílio, Ramon Simões | - |
| Data de aceite: dc.date.accessioned | 2026-02-09T11:49:56Z | - |
| Data de disponibilização: dc.date.available | 2026-02-09T11:49:56Z | - |
| Data de envio: dc.date.issued | 2014-08-04 | - |
| Data de envio: dc.date.issued | 2014 | - |
| Data de envio: dc.date.issued | 2014-08-04 | - |
| Data de envio: dc.date.issued | 2014 | - |
| Data de envio: dc.date.issued | 2014-08-04 | - |
| Data de envio: dc.date.issued | 2014-02-25 | - |
| Fonte completa do material: dc.identifier | https://repositorio.ufla.br/handle/1/2064 | - |
| Fonte: dc.identifier.uri | http://educapes.capes.gov.br/handle/capes/1148429 | - |
| Descrição: dc.description | Dissertação apresentada à Universidade Federal de Lavras, como parte das exigências do Programa de Pós-Graduação em Ciência da Computação, área de concentração em Banco de Dados e Engenharia de Software, para a obtenção do título de Mestre. | - |
| Descrição: dc.description | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) | - |
| Descrição: dc.description | Banco de Dados e Engenharia de Software | - |
| Descrição: dc.description | Anomalias de código são sintomas que indicam que alguma coisa está errada no código fonte. Essas anomalias têm sido catalogadas e investigadas em diversas técnicas de programação, como as programações orientadas a objetos e orientadas a aspectos. Essas técnicas podem ser utilizadas para desenvolver Linhas de Produtos de Software (LPS). A programação orientada a características (POC) é uma técnica específica para tratar a modularização de características em LPS. Uma das linguagens POC mais populares é a AHEAD e é também utilizada neste trabalho. Apesar disso, ainda faltam estudos sistemáticos sobre a categorização e detecção de anomalias de código em LPSs baseadas em AHEAD. Portanto, este trabalho estende as definições de três anomalias de código tradicionais, chamadas God Method, God Class e Shotgun Surgery, para que elas abordem as abstrações da POC. Foram propostas, inclusive, oito novas medidas para quantificar características específicas de abordagens composicionais como a AHEAD. Finalmente, essas medidas foram combinadas com medidas existentes para definir três estratégias de detecção para identificar as anomalias investigadas e desenvolver uma ferramenta computacional para medir e detectar anomalias de código. Para avaliar as estratégias de detecção, um estudo exploratório foi realizado envolvendo 26 participantes (especialistas em Engenharia de Software). Os participantes realizaram inspeções manuais baseadas em medidas para identificar anomalias de código em métodos e componentes, e os resultados foram comparados com os resultados das estratégias utilizando testes estatísticos. As análises indicam que as estratégias de detecção propostas podem ser utilizadas como preditoras das anomalias, pois os testes estatísticos indicam acordo entre os resultados obtidos a partir das estratégias e os resultados obtidos a partir dos participantes. Portanto, as principais contribuições deste trabalho são: oito medidas que abordam mecanismos específicos de abordagens composicionais; perspectivas diferentes para três anomalias de código tradicionais; três estratégias de detecção baseadas em medidas e uma ferramenta computacional para medir e detectar as anomalias investigadas em código fonte AHEAD. | - |
| Descrição: dc.description | Code smells are symptoms that something is wrong in the source code. They have been catalogued and investigated in several programming techniques, such as object-oriented and aspect-oriented programming. These techniques could also be used to develop Software Product Lines (SPL).Feature-oriented programming (FOP) is a specific technique to deal with the modularization of features in SPL. One of the most popular FOP languages is AHEAD, and as far as we are concerned. Despite of that, we still lack systematic studies on the categorization and detection of code smells in AHEAD-based SPL. Therefore, this work extended the definitions of three traditional code smells, namely God Method, God Class, and Shotgun Surgery, to consider FOP abstractions. We then proposed eight new FOP measures to quantify specific characteristics of compositional approaches like AHEAD. Finally, we combined the proposed and existing measures to define three detection strategies for identifying the investigated code smells and developed a computational tool to measure and detect the code smells. To evaluate the detection strategies, we performed an exploratory study involving 26 participants (Software Engineering experts). The participants performed manual inspections relying on measures to identify code smells in methods and components and we compared their results with the strategies’ using statistical tests. Our analysis showed that the proposed detection strategies can be used as code smell predictor, since the statistical tests indicated agreement between results obtained from the strategies and those obtained from the study participants. Therefore, the main contributions of this work are fourfold: eight measures that address specific mechanisms of compositional approaches; a different perspective of three traditional code smells; three measure-based detection strategies; and a computational tool to measure and detect the target code smells in AHEAD source code. | - |
| Formato: dc.format | application/pdf | - |
| Idioma: dc.language | en | - |
| Publicador: dc.publisher | UNIVERSIDADE FEDERAL DE LAVRAS | - |
| Publicador: dc.publisher | DCC - Programa de Pós-graduação | - |
| Publicador: dc.publisher | UFLA | - |
| Publicador: dc.publisher | BRASIL | - |
| Direitos: dc.rights | acesso aberto | - |
| Palavras-chave: dc.subject | Anomalias de código | - |
| Palavras-chave: dc.subject | Estratégias de detecção | - |
| Palavras-chave: dc.subject | Programação orientada a características | - |
| Palavras-chave: dc.subject | Linha de produto de software | - |
| Palavras-chave: dc.subject | Code smell | - |
| Palavras-chave: dc.subject | Detection strategy | - |
| Palavras-chave: dc.subject | Feature-oriented programming | - |
| Palavras-chave: dc.subject | Software product line | - |
| Palavras-chave: dc.subject | CNPQ_NÃO_INFORMADO | - |
| Título: dc.title | Detecting code smells in software product lines | - |
| Tipo de arquivo: dc.type | dissertação | - |
| Aparece nas coleções: | Repositório Institucional da Universidade Federal de Lavras (RIUFLA) | |
O Portal eduCAPES é oferecido ao usuário, condicionado à aceitação dos termos, condições e avisos contidos aqui e sem modificações. A CAPES poderá modificar o conteúdo ou formato deste site ou acabar com a sua operação ou suas ferramentas a seu critério único e sem aviso prévio. Ao acessar este portal, você, usuário pessoa física ou jurídica, se declara compreender e aceitar as condições aqui estabelecidas, da seguinte forma: