Publicação: Vetores de Parágrafo aplicados à localização de características e bugs de software
Carregando...
Tipo do documento
Data
Direito de acesso
Coleções
Área do conhecimento
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Título da Revista
ISSN da Revista
Título de Volume
Autores
Orientador
Coorientador
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
Citação
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
Coleções
Avaliação
Revisão
Suplementado Por
Referenciado Por
Licença Creative Commons
Exceto quando indicado de outra forma, a licença deste item é descrita como Acesso Aberto
