Por favor, use este identificador para citar o enlazar este ítem:
http://repositorio.ufc.br/handle/riufc/66693
Tipo: | Tese |
Título : | Contributions to bug-fixing time estimation: an empirical study in open source projects of apache ecosystem |
Título en inglés: | Contributions to bug-fixing time estimation: an empirical study in open source projects of apache ecosystem |
Autor : | Vieira, Renan Gomes |
Tutor: | Gomes, João Paulo Pordeus |
Co-asesor: | Rocha, Lincoln Souza |
Palabras clave : | Bug report;Machine learning;Resolution time estimation;JIRA Tracking Issue System;Bayesian data analysis |
Fecha de publicación : | 2022 |
Citación : | VIEIRA, Renan Gomes. Contributions to bug-fixing time estimation: an empirical study in open source projects of apache ecosystem. 2022. 120 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2022. |
Resumen en portugués brasileño: | A correção de bugs é um aspecto crucial da manutenção de software. Desenvolvedores e gerentes precisam lidar com relatórios de bugs que precisam de atenção imediata, apesar dos recursos limitados. Geralmente, projetos de software usam sistemas de rastreamento de issues como uma forma de relatar e monitorar tarefas de correção de bugs. Essas fontes de dados tem sido utilizadas por pesquisadores para conduzir estudos e melhor entender o problema, fornecendo meios para reduzir custos e aumentar a eficiência na tarefa de correção. Esta tese apresenta três contribuições para o processo de correção de bugs. A primeira é um conjunto de dados e o seu script de mineração, junto a uma série de análises e visualizações. Descrevemos o processo de aquisição, a necessidade de minerar um novo conjunto de dados, além de uma análise sobre alguns campos de relatórios que usamos nas subsequentes contribuições desenvolvidas. A segunda contribuição é uma nova abordagem para estimar o tempo de correção do bugs, onde consideramos o conceito de evolução do relatório de bug. Primeiro, verificamos com que frequência os relatórios de bug e seus campos são atualizados. A seguir, avaliamos a abordagem usando diferentes métodos de classificação de aprendizado de máquina, com distintas configurações de saída e técnicas de balanceamento de classes. Utilizando os melhores modelos testados para os diferentes estágios da evolução de um relatório, avaliamos se existem diferenças na capacidade de estimativa dos modelos segundo o estado de um relatório. Reunimos evidências de que os campos dos relatórios são atualizados com frequência, caracterizando sua a evolução, impactando nas estimativas dos modelos de predição de tempo de correção. A avaliação dos modelos mostra resultados promissores ao predizer se um bug será corrigido em menos ou mais de cinco dias, especialmente nos estados iniciais dos relatórios. A terceira contribuição é um estudo sobre a relação entre o tempo de correção de bug e três campos: prioridade, links (relação entre relatórios) e code-churn (relacionado ao patch de correção do bug). Através de análise Bayesiana de dados, avaliamos dois modelos diferentes - um ‘específico’ para cada conjunto de dados e um ‘hierárquico’ considerando todos os projetos de uma vez. Outros três modelos hierárquicos são explorados como forma de ilustrar a flexibilidade deste tipo de modelagem. Reunimos evidências de que relatórios de bug com links e valores maiores de code-churn demandam mais tempo para serem corrigidos, ao contrário de prioridade que não apresenta influência no tempo de correção. |
Abstract: | Fixing bugs is a crucial aspect of software maintenance. Developers and managers must deal with many bug reports that need immediate attention despite limited resources and tight deadlines. Generally, software projects use issue tracking systems to report and monitor bug-fixing tasks. Several researchers have used this data source to conduct research and better understand the problem, providing means to reduce costs and improve efficiency in the correction task. This thesis presents three contributions to the bugs correction process. The first is a dataset and its mining script, along with a series of analyzes and visualizations. We describe the data acquisition process, the necessity to mine a new dataset, and provide a deeper analysis of some reporting fields that we use in the subsequent contributions presented in this thesis. A second contribution is a new approach to estimating the time to fix bugs. We consider the concept of bug report evolution to create a dataset containing all investigated report states. First, we check how often the bug reports and their fields are updated. Next, we evaluate our approach using different machine learning methods as a classification problem, with a number of output configurations and class balancing techniques. Using the best models (considering all possible designs) for the different stages of the evolution of a bug report, we evaluate whether there are significant differences in the estimation capacity of the models according to the report state. We gathered evidence that report fields are frequently updated, which characterizes the evolution of reports, impacting the creation of bugs fixing-time estimation models. The evaluation of the models shows promising results in predicting whether a bug will be fixed in less or more than five days, especially in the initial states of the reports. The third contribution is a study on the relationship between bug correction time and three fields: priority, links (the relationship between reports), and code-churn (related to the fixing patch associated with the bug report). Through Bayesian data analysis, we evaluated two different models - one ‘specific’ for each project and one ‘hierarchical’ considering all projects at once. We also explored three other hierarchical models to illustrate the flexibility of this type of modeling. Finally, we have gathered evidence that bug reports with links and higher values of code-churn (above the project’s median) tend to take longer to fix. On the other hand, the priority level appears to have no significant influence on the time to fix a bug. |
URI : | http://www.repositorio.ufc.br/handle/riufc/66693 |
Aparece en las colecciones: | DCOMP - Teses defendidas na UFC |
Ficheros en este ítem:
Fichero | Descripción | Tamaño | Formato | |
---|---|---|---|---|
2022_tese_rgvieira.pdf | 2,23 MB | Adobe PDF | Visualizar/Abrir |
Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.