Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte

Detalhes bibliográficos
Autor(a) principal: Barichello, Luís Gustavo Egger
Data de Publicação: 2022
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Texto Completo: http://repositorio.utfpr.edu.br/jspui/handle/1/32358
Resumo: 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.
id UTFPR-12_79da66b9a62753d0e9ff4969ef48f7e8
oai_identifier_str oai:repositorio.utfpr.edu.br:1/32358
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonteIdentification of refactoring opportunities and code quality analysis through source code metricsSoftware - RefatoraçãoSoftware - ManutençãoJavaScript (Linguagem de programação de computador)Software refactoringSoftware maintenanceJavaScript (Computer program language)CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOMaintaining 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.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.Universidade Tecnológica Federal do ParanáDois VizinhosBrasilEngenharia de SoftwareUTFPRSantos, Gustavo Jansen de SouzaSouza, Francisco Carlos MonteiroKuszera, Evandro MiguelSantos, Gustavo Jansen de SouzaBarichello, Luís Gustavo Egger2023-09-11T18:31:58Z2023-09-11T18:31:58Z2022-06-23info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfBARICHELLO, 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.http://repositorio.utfpr.edu.br/jspui/handle/1/32358porAttribution 4.0 Internationalhttp://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPR2023-09-12T06:07:16Zoai:repositorio.utfpr.edu.br:1/32358Repositório InstitucionalPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestriut@utfpr.edu.br || sibi@utfpr.edu.bropendoar:2023-09-12T06:07:16Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.none.fl_str_mv Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
Identification of refactoring opportunities and code quality analysis through source code metrics
title Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
spellingShingle Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
Barichello, Luís Gustavo Egger
Software - Refatoração
Software - Manutenção
JavaScript (Linguagem de programação de computador)
Software refactoring
Software maintenance
JavaScript (Computer program language)
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
title_full Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
title_fullStr Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
title_full_unstemmed Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
title_sort Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
author Barichello, Luís Gustavo Egger
author_facet Barichello, Luís Gustavo Egger
author_role author
dc.contributor.none.fl_str_mv Santos, Gustavo Jansen de Souza
Souza, Francisco Carlos Monteiro
Kuszera, Evandro Miguel
Santos, Gustavo Jansen de Souza
dc.contributor.author.fl_str_mv Barichello, Luís Gustavo Egger
dc.subject.por.fl_str_mv Software - Refatoração
Software - Manutenção
JavaScript (Linguagem de programação de computador)
Software refactoring
Software maintenance
JavaScript (Computer program language)
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Software - Refatoração
Software - Manutenção
JavaScript (Linguagem de programação de computador)
Software refactoring
Software maintenance
JavaScript (Computer program language)
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2022
dc.date.none.fl_str_mv 2022-06-23
2023-09-11T18:31:58Z
2023-09-11T18:31:58Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv 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.
http://repositorio.utfpr.edu.br/jspui/handle/1/32358
identifier_str_mv 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.
url http://repositorio.utfpr.edu.br/jspui/handle/1/32358
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution 4.0 International
http://creativecommons.org/licenses/by/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution 4.0 International
http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Dois Vizinhos
Brasil
Engenharia de Software
UTFPR
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Dois Vizinhos
Brasil
Engenharia de Software
UTFPR
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv riut@utfpr.edu.br || sibi@utfpr.edu.br
_version_ 1850497814481600512