Treffer: Estudo empírico sobre duplicação de código em aplicações JavaScript ; Empirical study on code duplication in JavaScrit applications

Title:
Estudo empírico sobre duplicação de código em aplicações JavaScript ; Empirical study on code duplication in JavaScrit applications
Contributors:
Santos, Gustavo Jansen de Souza, Souza, Francisco Carlos Monteiro, Kuszera, Evandro Miguel
Publisher Information:
Universidade Tecnológica Federal do Paraná
Dois Vizinhos
Brasil
Engenharia de Software
UTFPR
Publication Year:
2021
Collection:
Universidade Tecnológica Federal do Paraná (UTFPR): Repositório Institucional (RIUT)
Document Type:
Dissertation bachelor thesis
File Description:
application/pdf
Language:
Portuguese
Rights:
openAccess ; Attribution-ShareAlike 4.0 International ; http://creativecommons.org/licenses/by-sa/4.0/
Accession Number:
edsbas.32D1F144
Database:
BASE

Weitere Informationen

Clones are similar or identical code fragments on source code. Code cloning can cause several issues related to code quality and maintenance. Consequently, clone detection is an active research area in Software Engineering. However, few clone detection studies focus on dynamically-typed languages such as JavaScript. In this work, a tool capable of extracting clone candidates in JavaScript files was developed and it uses a minimum informed threshold. The tool identified clone candidates from three different projects; then, we conducted a manual validation step for the identification and classification of clones. The tool showed an average of 68.4% success in detecting clones, finding all classifications of clone types. The conclusion of this work is that a manual analysis step is necessary for the candidate’s validation, since the clones interpretation for the JavaScript language can have different results for each professional during the analysis process. ; Clones de código são trechos similares ou idênticos no código-fonte de um sistema. A existência desses clones promove uma série de desafios relacionados à qualidade e manutenção desses sistemas. Consequentemente, a detecção de clones de código é uma das áreas de pesquisa ativas na Engenharia de Software. No entanto, pouco é pesquisado em linguagens dinamicamente tipadas a exemplo de JavaScript. Neste trabalho foi desenvolvida uma ferramenta capaz de extrair candidatos a clone em arquivos JavaScript por meio de um limiar mínimo informado. Com os candidatos extraídos em três diferentes projetos, uma etapa de análise e validação foi realizada de forma manual para a identificação e classificação dos clones. A ferramenta apresentou índices em média de 68.4% de precisão na detecção de clones, encontrando todas as classificações de tipos de clones. Conclui-se com este trabalho que é necessário uma etapa de análise manual para a validação de candidatos, uma vez que a interpretação de clones para a linguagem JavaScript podem ter diferentes resultados para cada ...