Please use this identifier to cite or link to this item: http://repositorio.ufc.br/handle/riufc/66693
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorGomes, João Paulo Pordeus-
dc.contributor.authorVieira, Renan Gomes-
dc.date.accessioned2022-06-24T19:39:06Z-
dc.date.available2022-06-24T19:39:06Z-
dc.date.issued2022-
dc.identifier.citationVIEIRA, 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.pt_BR
dc.identifier.urihttp://www.repositorio.ufc.br/handle/riufc/66693-
dc.description.abstractFixing 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.pt_BR
dc.language.isoenpt_BR
dc.subjectBug reportpt_BR
dc.subjectMachine learningpt_BR
dc.subjectResolution time estimationpt_BR
dc.subjectJIRA Tracking Issue Systempt_BR
dc.subjectBayesian data analysispt_BR
dc.titleContributions to bug-fixing time estimation: an empirical study in open source projects of apache ecosystempt_BR
dc.typeTesept_BR
dc.contributor.co-advisorRocha, Lincoln Souza-
dc.description.abstract-ptbrA 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.pt_BR
dc.title.enContributions to bug-fixing time estimation: an empirical study in open source projects of apache ecosystempt_BR
Appears in Collections:DCOMP - Teses defendidas na UFC

Files in This Item:
File Description SizeFormat 
2022_tese_rgvieira.pdf2,23 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.