Identificação de oportunidades de refatoração e análise da qualidade de código por meio de métricas de código-fonte
| Autor(a) principal: | |
|---|---|
| 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 |