Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/32358
Título: Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
Título(s) alternativo(s): Identification of refactoring opportunities and code quality analysis through source code metrics
Autor(es): Barichello, Luís Gustavo Egger
Orientador(es): Santos, Gustavo Jansen de Souza
Palavras-chave: Software - Refatoração
Software - Manutenção
JavaScript (Linguagem de programação de computador)
Software refactoring
Software maintenance
JavaScript (Computer program language)
Data do documento: 23-Jun-2022
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Dois Vizinhos
Citação: BARICHELLO, Luís Gustavo Egger. Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte. 2022. Trabalho de Conclusão de Curso (Engenharia de Software) – Universidade Tecnológica Federal do Paraná, Dois Vizinhos, 2022.
Resumo: Manter um software com uma estrutura interna complexa é uma tarefa difícil de se executar. Para isso, técnicas de refatoração são aplicadas com o objetivo de melhorar a estrutura interna, aumentar a qualidade e assim facilitar a manutenção do software. No entanto, os mecanismos para aplicar a refatoração de forma manual são complexos e exigem muito esforço técnico, e assim as atividades de refatoração acabam sendo deixadas de lado ou pouco executadas. Muitas IDEs utilizadas hoje facilitam a refatoração, mas a falta de confiança do desenvolvedor em utilizar as mesmas ainda é um obstáculo para se manter uma boa estrutura interna de um software. Este trabalho visa atender às necessidades citadas fornecendo uma ferramenta chamada RefactorExtension no formato de plugin para identificar a necessidade de refatorações e aplicá-las de forma automática em arquivos JavaScript. Para atingir esse objetivo, o plugin realiza a análise do código-fonte utilizando a técnica de conversão para AST, e para validar a efetividade da refatoração aplicada, são utilizadas métricas coletadas do código-fonte. Para avaliar a efetividade das refatorações aplicadas pelo plugin, foi realizado um estudo de caso aplicando a ferramenta em três diferentes projetos. A ferramenta apresentou índices de uma melhora efetiva nas métricas coletadas após a aplicação das refatorações nos projetos. Foi concluído com este trabalho que a aplicação de refatorações em um código-fonte pode resultar em grandes melhorias nas métricas de qualidade de um código-fonte, facilitando assim a sua manutenção e evolução natural.
Abstract: Maintaining software with a complex internal structure is a difficult task to perform. For this, refactoring techniques are applied in order to improve code, increase quality and thus facilitate software maintenance. However, the mechanisms for manually refactoring are complex and require a great deal of technical effort; consequently, they are often left out or under-implemented by developers. Many IDEs used today make refactoring easier but do not apply them automatically, the developer still needs to identify refactoring opportunities and manually apply them. This study aims to provide a tool called RefactorExtension to use as a plugin for identifying refactoring opportunities and applying them automatically in JavaScript files. This plugin performs the analysis of the source code using the conversion to AST, and to validate the improvement of the applied refactoring, an analysis of the metrics of the source code is performed. To validate the RefactorExtension plugin, an experimental evaliation was conducted in three different projects. The tool showed signs of an effective improvement in the source code metrics after the application of refactorings. It was finished with this work that the application of refactorings directly affect the quality metrics of a source code, thus facilitating its maintenance and natural evolution.
URI: http://repositorio.utfpr.edu.br/jspui/handle/1/32358
Aparece nas coleções:DV - Engenharia de Software

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
refatoracaoqualidademetricacodigofonte.pdf1,01 MBAdobe PDFThumbnail
Visualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons