BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer

Detalhes bibliográficos
Autor(a) principal: Aguiar Neto, Décio Gonçalves de, 1996-
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1639142
Resumo: Orientadores: Jacques Wainer, Alexandre Mello Ferreira
id UNICAMP-30_4feaaafc78650f65cf7886a13dc2cd3a
oai_identifier_str oai::1129149
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformerBugBERT : triage and labeling of bug reports using transfer learning on transformer based neural networkProcessamento de linguagem natural (Computação)Aprendizado de máquinaAprendizado profundoEngenharia de softwareNatural language processing (Computer science)Machine learningDeep learningSoftware engineeringOrientadores: Jacques Wainer, Alexandre Mello FerreiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Durante o desenvolvimento de um projeto de software falhas podem surgir em funcionalidades do sistema em desenvolvimento. Estas falhas são denominadas na literatura como \textit{bugs} e, quando identificado, é reportado através de formulários ou relatórios de erros que contém informações de como ocorreu o problema e, em alguns casos, como reproduzir o erro reportado. Estas informações são utilizadas para identificar a possível causa do \textit{bug}. O processamento de relatórios de \textit{bugs} é um ponto essencial na correção e manutenção de software modernos. Assim, após o preenchimento das informações, o triador deve atribuir, de forma correta, qual equipe será responsável pela manutenção da funcionalidade. Em cenários como este, um sistema automatizado de processamento de relatórios de \textit{bugs} é um passo natural em direção à redução do tempo de trabalho manual e maior confiabilidade nas atribuições, pois um modelo com bom desempenho, em termos de acurácia, pode auxiliar no apoio à decisão a ser tomada pelo triador, aumentando assim a eficiência do processamento do relatório. A eficiência, neste caso, envolve melhorar a taxa de acerto dos triadores nas tarefas que envolvem o processamento do relatório e no envio de um \textit{bug} para o desenvolvedor ou equipe correta, reduzindo assim o número de re-atribuições até a sua resolução. Diferentes soluções têm sido propostas na literatura para a criação de um sistema automatizado de processamento de \textit{bugs}, no entanto as soluções propostas geralmente para a resolução de uma única tarefa dentro do processamento de relatório de \textit{bug} e não soluções que incluam todas as tarefas que compõem o conjunto de atividades do \textit{pipeline}. O grande desafio deste domínio, para os modelos de aprendizado de máquina, é que, os campos que contêm informações sobre o \textit{bug} geralmente contêm uma combinação de texto não estruturado livre, ou seja, trechos de código e texto em diferentes línguas, o que torna os dados de entrada altamente ruidosos. Trabalhos mostram que uma alternativa para lidar com problemas relativos à entrada é fazer uso de modelos de aprendizado profundo. Estes modelos têm obtido resultados superiores em diferentes tarefas de processamento de linguagem natural e classificação quando comparados aos modelos de aprendizado de máquina tradicional. Contudo, os resultados dos estudos sobre aprendizagem profunda no domínio de processamento de relatórios de \textit{bugs} ainda são insuficientes. Neste trabalho, exploramos uma técnica de aprendizado profundo bastante utilizadas em visão computacional, a transferência de aprendizado, visando obter melhorias nos resultados para o problema de triagem automática de \textit{bugs} e a rotulação de relatórios de \textit{bugs}. Realizamos a transferência a partir do modelo BERT pré-treinando com dados do domínio de \textit{bug tracking}, resultando em um novo modelo que denominamos BugBert. Este método se tornou o novo estado da arte na triagem de \textit{bugs}Abstract: During the development of a software project, failures are common in the functionality of the system being developed. These errors are referred in literature as bugs and when identified, it is reported through forms or error reports that contain information on how the problem occurred and, in some cases, how to reproduce the reported error. This information is used to identify the possible cause of the bug. The processing of bug reports is an essential point in the correction and maintenance of modern software. Thus, after filling in the information, the triator must correctly assign which team will be responsible for maintaining the functionality. In scenarios like this, an automated bug reporting system is a natural step towards reducing manual work time and greater reliability in assignments, as a model with good performance can help support the decision to be made by the triator thus increasing the efficiency of the report processing. Efficiency, in this case, involves improving the success rate of triads in tasks that involve processing the report and sending a bug to the correct developer or team, thus reducing the number of reassignments until their resolution. Different solutions have been proposed in the literature for the creation of an automated bug processing system, however the solutions proposed generally for the resolution of a single task within the processing of bug reports and not solutions that include all the tasks that comprise the set of pipeline activities. The great challenge of this domain, for machine learning models, is that, fields containing information about the bug generally contain a combination of free unstructured text, that is, snippets of code and text in different languages, which makes highly noisy input data. Studies show that an alternative to deal with problems related to entry is to use deep learning models. These models have obtained superior results in different tasks of natural language processing and classification when compared to traditional machine learning models. However, the results of studies on deep learning in the field of processing bug reports are still insufficient. In this work, we explore a deep learning technique widely used in computer vision, the transfer of learning, in order to obtain improvements in the results for the automatic bug screening problem and the labeling of bug reports. We performed the transfer from the BERT model pre-training with data from the \ textit {bug tracking} domain, resulting in a new model that we call BugBert. This method has become the new state of the art in bug triageMestradoCiência da ComputaçãoMestre em Ciência da ComputaçãoCNPQ130915/2018-1[s.n.]Wainer, Jacques, 1958-Ferreira, Alexandre MelloPedrini, HélioMena-Chalco, Jesús PascualUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASAguiar Neto, Décio Gonçalves de, 1996-20202020-03-18T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf1 recurso online (63 p.) : il., digital, arquivo PDF.https://hdl.handle.net/20.500.12733/1639142AGUIAR NETO, Décio Gonçalves de. BugBERT: triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer. 2020. 1 recurso online (63 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1639142. Acesso em: 3 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/1129149Requisitos do sistema: Software para leitura de arquivo em PDFporreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2020-07-06T17:14:27Zoai::1129149Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2020-07-06T17:14:27Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
BugBERT : triage and labeling of bug reports using transfer learning on transformer based neural network
title BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
spellingShingle BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
Aguiar Neto, Décio Gonçalves de, 1996-
Processamento de linguagem natural (Computação)
Aprendizado de máquina
Aprendizado profundo
Engenharia de software
Natural language processing (Computer science)
Machine learning
Deep learning
Software engineering
title_short BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
title_full BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
title_fullStr BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
title_full_unstemmed BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
title_sort BugBERT : triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer
author Aguiar Neto, Décio Gonçalves de, 1996-
author_facet Aguiar Neto, Décio Gonçalves de, 1996-
author_role author
dc.contributor.none.fl_str_mv Wainer, Jacques, 1958-
Ferreira, Alexandre Mello
Pedrini, Hélio
Mena-Chalco, Jesús Pascual
Universidade Estadual de Campinas (UNICAMP). Instituto de Computação
Programa de Pós-Graduação em Ciência da Computação
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Aguiar Neto, Décio Gonçalves de, 1996-
dc.subject.por.fl_str_mv Processamento de linguagem natural (Computação)
Aprendizado de máquina
Aprendizado profundo
Engenharia de software
Natural language processing (Computer science)
Machine learning
Deep learning
Software engineering
topic Processamento de linguagem natural (Computação)
Aprendizado de máquina
Aprendizado profundo
Engenharia de software
Natural language processing (Computer science)
Machine learning
Deep learning
Software engineering
description Orientadores: Jacques Wainer, Alexandre Mello Ferreira
publishDate 2020
dc.date.none.fl_str_mv 2020
2020-03-18T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/20.500.12733/1639142
AGUIAR NETO, Décio Gonçalves de. BugBERT: triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer. 2020. 1 recurso online (63 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1639142. Acesso em: 3 set. 2024.
url https://hdl.handle.net/20.500.12733/1639142
identifier_str_mv AGUIAR NETO, Décio Gonçalves de. BugBERT: triagem e rotulação de relatórios de erros usando transferência de aprendizado em redes baseadas em transformer. 2020. 1 recurso online (63 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1639142. Acesso em: 3 set. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/1129149
Requisitos do sistema: Software para leitura de arquivo em PDF
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
1 recurso online (63 p.) : il., digital, arquivo PDF.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1809189161705406464