Por favor, use este identificador para citar o enlazar este ítem: http://repositorio.ufc.br/handle/riufc/78339
Tipo: Dissertação
Título : Towards automatic labeling of exception handling bugs: a case study of 10 years bug-fixing in apache hadoop
Autor : Silva, Antônio José Amâncio da
Tutor: Rocha, Lincoln Souza
Palabras clave en portugués brasileño: Bug de tratamento de exceção;Rotulagem automática de bugs;Aprendizado de máquina;Processamento de linguagem natural
Palabras clave en inglés: Exception handling bug;Automatic bug labeling;Machine learning;Natural language processing
Áreas de Conocimiento - CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Fecha de publicación : 2022
Citación : SILVA, Antônio José Amâncio da. Towards automatic labeling of exception handling bugs: a case study of 10 years bug-fixing in apache hadoop. 2024. 53 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2022.
Resumen en portugués brasileño: Contexto: Os bugs de tratamento de exceções (EH) decorrem do uso incorreto do mecanismo de tratamento de exceção (EHM) e frequentemente acarretam consequências severas (e.g., tempo de inatividade do sistema, perda de dados e risco de segurança). O rastreamento de bugs EH é particularmente relevante para sistemas contemporâneos (como sistemas baseados em nuvem e inteligência artificial), nos quais a lógica sofisticada do software representa uma ameaça adicional ao uso correto do EHM. Além disso, as pessoas que reportam bugs raramente conseguem rotular bugs como bugs EH, pois isso pode exigir um conhecimento abrangente da estratégia de EH do software. Surpreendentemente, até onde sabemos, não existe um procedimento automatizado para identificar bugs EH a partir das descrições dos relatórios. Objetivo: Primeiramente, buscamos avaliar até que ponto o Processamento de Linguagem Natural (NLP) e o Aprendizado de Máquina (ML) podem ser usados para rotular de forma confiável os bugs EH utilizando os campos de texto dos relatórios de bugs (e.g., resumo, descrição e comentários). Em segundo lugar, pretendemos fornecer um conjunto de dados rotulados de maneira confiável que a comunidade possa usar em esforços futuros. De modo geral, esperamos que nosso trabalho aumente a conscientização da comunidade sobre a importância dos bugs EH. Método: Analisamos manualmente 4.516 relatórios de bugs dos quatro principais componentes do projeto Hadoop da Apache, dos quais rotulamos cerca de ≈ 20% (943) como bugs EH. Em seguida, utilizamos técnicas de incorporação (embedding) de palavras (Bag-of-Words e Frequência de Termos - Frequência Inversa de Documentos – TF-IDF) para resumir os campos textuais dos relatórios de bugs. Posteriormente, usamos essas incorporações para ajustar quatro classes de métodos de ML e registrar seu desempenho em dados não vistos. Também avaliamos se a consideração exclusiva de palavras-chave de EH é suficiente para alcançar um alto desempenho preditivo. Resultados: Nossos resultados mostram que a combinação de técnicas de NLP e ML pode rotular bugs EH de forma razoavelmente eficaz, alcançando pontuações de Características de Operação do Receptor - Área Sob a Curva (ROC-AUC) de até 0,70 e recall variando de 0,50 a 0,62. Como verificação de sanidade, também avaliamos métodos que utilizam incorporações extraídas apenas de palavras-chave. Embora as incorporações baseadas em palavras-chave gerem AUCs semelhantes, observamos uma queda acentuada no recall (0,53). Isso sugere que palavras-chave sozinhas não são suficientes para caracterizar relatórios de bugs EH, indicando a necessidade de análises textuais mais complexas. Conclusões: Até onde sabemos, este é o primeiro estudo a abordar o problema da rotulagem automática de bugs EH. Com base em nossos resultados, podemos concluir que a combinação de técnicas de NLP e ML é promissora para automatizar a tarefa de rotulagem de bugs EH. Esperamos, em geral, que (i) nosso trabalho contribua para aumentar a conscientização sobre os bugs EH e (ii) que nosso conjunto de dados (disponível publicamente) sirva como um conjunto de dados de referência, abrindo caminho para trabalhos futuros. Além disso, nossas descobertas podem ser utilizadas para construir ferramentas que ajudem os mantenedores a identificar bugs EH durante o processo de triagem.
Abstract: Context: Exception randling (EH) bugs stem from incorrect usage of exception handling mechanisms (EHM) and often incur severe consequences (e.g., system downtime, data loss, and security risk). Tracking EH bugs is particularly relevant for contemporary systems (e.g., cloud- and artificial intelligence based systems), in which the software’s sophisticated logic is an additional threat to the correct use of the EHM. On top of that, bug reporters seldom can tag EH bugs — since it may require an encompassing knowledge of the software’s EH strategy. Surprisingly, to the best of our knowledge, there is no automated procedure to identify EH bugs from report descriptions. Objective: First, we aim at evaluating the extent to which Natural Language Processing (NLP) and Machine Learning (ML) can be used to reliably label EH bugs using the text fields from bug reports (e.g., summary, description, and comments). Second, we aim at providing a reliably labeled dataset that the community can use in future endeavors. Overall, we expect our work to raise the community’s awareness regarding the importance of EH bugs. Method: We manually analyzed 4,516 bug reports from the four main components of Apache’s Hadoop project, out of which we labeled ≈ 20% (943) as EH bugs. Then, we used word embedding techniques (Bag-of-Words and Term Frequency-Inverse Document Frequency (TF-IDF)) to summarize the textual fields of bug reports. Subsequently, we used these embeddings to fit four classes of ML methods and record their performance on unseen data. We have also evaluated whether considering only EH keywords is enough to achieve high predictive performance. Results: Our results show that the combination of NLP and ML techniques can label EH bugs reasonably well, achieving Receiver Operating Characteristics-Area Under The Curve (ROC-AUC) scores of up to 0.70 and recall ranging from 0.50 up to 0.62. As a sanity check, we also evaluate methods using embeddings extracted solely from keywords. While keyword-based embeddings yield similar AUC, we observe a steep decrease in recall (0.53). This suggests that keywords alone are not sufficient to characterize reports of EH bugs — and there is an avenue for more complex text analyses. Conclusions: To the best of our knowledge, this is the first study addressing the problem of automatic labeling of EH bugs. Based on our results, we can conclude that the combination of NLP and ML techniques sounds promising to automate the task of labeling EH bugs. Overall, we hope (i) that our work will contribute towards raising awareness around EH bugs; and (ii) that our (publicly available) dataset will serve as a benchmarking dataset, paving the way for follow-up works. Additionally, our findings can be used to build tools that help maintainers flesh out EH bugs during the triage process.
URI : http://repositorio.ufc.br/handle/riufc/78339
Lattes del autor: http://lattes.cnpq.br/3081401322589475
Lattes del tutor: http://lattes.cnpq.br/0656977742590515
Derechos de acceso: Acesso Aberto
Aparece en las colecciones: DCOMP - Dissertações defendidas na UFC

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
2022_dis_ajasilva.pdf1,18 MBAdobe PDFVisualizar/Abrir


Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.