Use este identificador para citar ou linkar para este item:
https://repositorio.ufu.br/handle/123456789/29339
ORCID: | http://orcid.org/0000-0002-5806-124X |
Tipo do documento: | Tese |
Tipo de acesso: | Acesso Aberto |
Título: | Vetores de Parágrafo aplicados à localização de características e bugs de software |
Título(s) alternativo(s): | Paragraph Vectors applied to software features and bugs location |
Autor(es): | Silva, Allysson Costa e |
Primeiro orientador: | Maia, Marcelo de Almeida |
Primeiro membro da banca: | Dorça, Fabiano Azevedo |
Segundo membro da banca: | Travençolo, Bruno Augusto Nassif |
Terceiro membro da banca: | Figueiredo, Eduardo Magno Lages |
Quarto membro da banca: | Inácio, Maurílio José |
Resumo: | Durante a fase de manutenção de software, os processos de localização de características e bugs de software exercem um relevante papel na recuperação da rastreabilidade entre descrições expressas em linguagem natural e trechos de código fonte. Entretanto, ferramentas automatizadas propostas para esta finalidade não tem apresentado acurácia que possa ser considerada como definitiva. Neste sentido, o objetivo principal deste trabalho foi o aprimoramento de vetores de parágrafos, produzidos por uma rede neural Artificial empregada no algoritmo Doc2vec, e aplicados ao processo de localização de características e de bugs de software. Assim, melhor definidos, estes vetores puderam ser usados no cálculo de similaridades entre descrições de características e métodos do código fonte. Da mesma forma, a similaridade entre bugs e classes do código fonte pôde ser aprimorada. Para atingir este objetivo, foi aplicada uma taxa de aprendizado cíclica além da alteração da função de custo da rede neural que estavam associados ao algoritmo Doc2vec. Outras abordagens utilizadas reforçaram os ganhos em acurácia para o algoritmo Doc2vec a partir da combinação de rankings obtidos em ferramentas que expressam o estado da arte em Engenharia de Software. Um conjunto de abordagens que não apresentaram resultados satisfatórios também foram experimentadas e são descritas neste trabalho. Dentre estas podem ser citadas a melhoria da qualidade dos vetores representativos de métodos e classes do código fonte a partir de outros sistemas escritos na linguagem de programação Java; uso de pesos sintáticos diferenciados para termos que participam da composição de vetores relacionados às classes e métodos; e uso do algoritmo fastText para geração de vetores. Para cada abordagem proposta, ponderações foram feitas no sentido de se avaliar sua efetividade de uso em contextos de localização de bugs e características. Em resumo, com uma combinação das melhorias propostas para a rede neural artificial, a acurácia do estado da arte para a tarefa de localização de características pôde ser superada. Além disso, também foi possível melhorar a localização de bugs realizada a partir do uso do algoritmo Doc2vec bem como determinar quais hiperparâmetros eram mais influentes para melhoria da acurácia. |
Abstract: | Throughout a software maintenance phase, the processes of feature and bug location play an important role in the retrieval of traceability between natural language and source code. However, existing automated tools, which were designed to perform these tasks, have not yet presented the desirable accuracy expected as a definitive outcome. In this sense, this work main objective seeks to attend to the improvement of paragraph vectors, produced by artificial neural network in the Doc2vec algorithm, and applied into the processes of feature and software bug location. By improving the vector quality, these were used in the calculation of similarities found between feature descriptions and source code methods. Also, improvements in identifying bugs similarity and source code classes were observed. In order to reach this result, a cyclic learning rate was applied to the task in addition to customizing neural network loss function, which were associated with the Doc2vec algorithm. Furthermore, other approaches used have also demonstrated the gains in accuracy for the Doc2vec algorithm, provided by the combination of rankings obtained in tools that express the state of the art in Software Engineering. Yet, a set of other minor approaches were applied to this work, such as: improvement in the quality of representative vectors from source code methods, departing from other systems source code; usage of word syntactic influence within paragraphs extracted from source code; and usage of fastText algorithm to generate paragraph vectors. For each proposed approach, considerations were made in order to evaluate its effectiveness in feature and bug location tasks. In sum, the improvements proposed by this work to artificial neural network allowed to improve state of the art work in feature location tasks. Moreover, improvements in bug location were made by using the Doc2vec algorithm, and most influential hyper parameters were defined to improve accuracy. |
Palavras-chave: | Bugs Recuperação de informação Feature Location Bug Location Information Retrieval Doc2vec Localização de características |
Área(s) do CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE |
Idioma: | por |
País: | Brasil |
Editora: | Universidade Federal de Uberlândia |
Programa: | Programa de Pós-graduação em Ciência da Computação |
Referência: | SILVA, Allysson Costa e. Vetores de Parágrafo aplicados à localização de características e bugs de software. 2020. 131 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2020. DOI http://doi.org//10.14393/ufu.te.2020.404 |
Identificador do documento: | http://doi.org/10.14393/ufu.te.2020.404 |
URI: | https://repositorio.ufu.br/handle/123456789/29339 |
Data de defesa: | 6-Fev-2020 |
Aparece nas coleções: | TESE - Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
VetoresParagrafoAplicados.pdf | 2.89 MB | Adobe PDF | Visualizar/Abrir |
Este item está licenciada sob uma Licença Creative Commons