00 CAMPUS ARISTÓTELES CALAZANS SIMÕES (CAMPUS A. C. SIMÕES) IC - INSTITUTO DE COMPUTAÇÃO TRABALHOS DE CONCLUSÃO DE CURSO (TCC) - GRADUAÇÃO - IC Trabalhos de Conclusão de Curso (TCC) - Bacharelado - CIÊNCIA DA COMPUTAÇÃO- IC
Use este identificador para citar ou linkar para este item: http://www.repositorio.ufal.br/jspui/handle/123456789/10684
Tipo: Trabalho de Conclusão de Curso
Título: Explorando métricas de código para a detecção de Long Envious Methods
Título(s) alternativo(s): Exploring Code Metrics For Detecting Long Envious Methods
Autor(es): Vasconcelos, Audrey Emmely Rodrigues
Primeiro Orientador: Santos Neto, Baldoino Fonseca dos
metadata.dc.contributor.advisor-co1: Bibiano, Ana Carla Gomes
metadata.dc.contributor.referee1: Araújo, Ícaro Bezerra Queiroz de
metadata.dc.contributor.referee2: Souza, Jairo Raphael Moreira Correia de
Resumo: Atualmente os projetos estão em constante evolução para introduzir novas funcionalidades e adaptá-las a diferentes contextos de execução. Com isso, alguns problemas na qualidade do projeto de software podem ser introduzidos, podendo estar relacionados à presença de anomalias de código, geralmente chamadas de code smells ou bad smells em inglês, que são estruturas pobres de código. As anomalias são categorizadas em tipos e alguns desses tipos são Long Method, quando um método tem várias linhas de código, e Feature Envy, quando um método geralmente usa recursos de outras classes. Como a identificação manual dessas anomalias de código é custosa, várias ferramentas de anomalias de código foram propostas. Essas ferramentas utilizam estratégias de detecção baseadas em métricas de código, mas elas focam na remoção de uma única anomalia e um estudo recente indicou que um elemento de código pode ter duas ou mais anomalias de código. Assim, esses elementos podem estar com suas métricas degradadas e os limiares utilizados por essas ferramentas não são suficientes para indicar a gravidade deles. Essa monografia visa explorar métricas de código de métodos que são Long Method e Feature Envy. Esses métodos são chamados de Long Envious Method, um novo tipo de anomalia que pode ser causado por excessivas linhas de código e a implementação de duas ou mais funcionalidades. O objetivo é explorar quais métricas de código podem ser usadas para a identificação desse método. Mais de 8.000 instâncias de anomalias de código foram investigadas em três projetos de software, onde 4.707 (54%) são Long Methods e 3.910 (45.3%) métodos são Long Envious Methods. Ou seja, Long Envious Methods são frequentes e muitas vezes as ferramentas não conseguem detectá-los. Pode-se observar também que as métricas cyclomaticComplexity (complexidade do código), NumberOfCatchStatements (tratamento de exceções) e couplingIntensity (acoplamento do código fonte) têm uma diferença significativa entre Long Envious Methods e Long Methods. Por fim, conclui-se que essas métricas podem ser usadas para a identificação de Long Envious Methods.
Abstract: Currently, projects are constantly evolving to introduce new features and adapt them to different execution contexts. With this, some problems in the quality of the software project can be introduced, which may be related to the presence of code anomalies, usually called code smells or bad smells in English, which are poor code structures. Anomalies are categorized into types and some of these types are Long Method, when a method has several lines of code, and Feature Envy, when a method often uses features from other classes. As manual identification of these code anomalies is costly, several code anomaly tools have been proposed. These tools use detection strategies based on code metrics, but they focus on removing a single anomaly and a recent study indicated that a code element can have two or more code anomalies. Thus, these elements may have their metrics degraded and the thresholds used by these tools are not sufficient to indicate their severity. This monograph aims to explore code metrics of methods that are Long Method and Feature Envy. These methods are called the Long Envious Method, a new type of anomaly that can be caused by excessive lines of code and the implementation of two or more features. The goal is to explore which code metrics can be used to identify this method. More than 8000 instances of code anomalies were investigated in three software projects, where 4707 (54%) are Long Methods and 3910 (45.3%) methods are Long Envious Methods. That is, Long Envious Methods are frequent and tools often fail to detect them. It can also be seen that the metrics cyclomaticComplexity, NumberOfCatchStatements and couplingIntensity have a significant difference between Long Envious Methods and Long Methods. Finally, it is concluded that these metrics can be used to identify Long Envious Methods.
Palavras-chave: Anomalias de código
Software - Qualidade
Métricas de código
Code smells
Software quality
Code metrics
Detection tools
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: por
País: Brasil
Editor: Universidade Federal de Alagoas
Sigla da Instituição: UFAL
metadata.dc.publisher.department: Curso de Ciências da Computação
Citação: VASCONCELOS, Audrey Emmely Rodrigues. Explorando métricas de código para a detecção de Long Envious Methods. 2023. 29 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Instituto de Computação, Universidade Federal de Alagoas, Maceió, 2023.
Tipo de Acesso: Acesso Aberto
URI: http://www.repositorio.ufal.br/jspui/handle/123456789/10684
Data do documento: 18-jan-2023
Aparece nas coleções:Trabalhos de Conclusão de Curso (TCC) - Bacharelado - CIÊNCIA DA COMPUTAÇÃO- IC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Explorando métricas de código para a detecção de Long Envious Methods.pdf566.18 kBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.