Use este identificador para citar ou linkar para este item: http://repositorio.ufc.br/handle/riufc/76456
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorCarvalho, Windson Viana de-
dc.contributor.authorPinheiro Neto, Francisco Oton-
dc.date.accessioned2024-03-11T17:08:19Z-
dc.date.available2024-03-11T17:08:19Z-
dc.date.issued2024-
dc.identifier.citationPINHEIRO NETO, Francisco Oton. How they relate and leave: understanding atoms of confusion in open-source java projects. 2024. 75 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2024.pt_BR
dc.identifier.urihttp://repositorio.ufc.br/handle/riufc/76456-
dc.description.abstractSoftware comprehension is essential to improve understanding and avoid mistakes in the software development lifecycle. Code confusion occurs when a developer and the computer reach different interpretations about the behavior of the same piece of code. Such pieces of code can be represented as small and isolated code patterns called Atoms of Confusion (ACs). In this study, we empirically investigated the effects of ACs in the software development lifecycle of 21 open-source Java projects. We built a dataset linking more than 8,000 commits, 4,000 reported issues, and 7,000 ACs from the subject projects. Our findings showed a positive correlation between the number of ACs and the number of reported bugs and improvements. We also investigated changes in commits, looking forward to gathering a better understanding of in what context ACs are removed. As each commit is linked to at least one reported issue (e.g., bug and improvement), we were able to compare the ratio of ACs removal regarding each kind of commit and use it as a proxy to indicate whether ACs are likely to be the cause behind a reported issue. We found a higher ratio of removed ACs in bug-fix and improvement commits than in the other kinds of commits (task, sub-task, new feature, wish, and test) for 14 of the 19 studied projects, which had ACs removed in commits. Finally, to support our quantitative results, we conducted a qualitative analysis to better understand how often atoms of confusion contributed to the occurrence of a bug or improvement. We inspected ACs removed in these types of commits with up to ten lines removed, analyzing the source code, messages of each involved commit, and the title, description, and comments of related Jira issues. Out of a universe of 8,641 commits from 21 analyzed projects, 391 removed ACs. Among them, 53 met the condition for our qualitative analysis. In 7 of these commits, 9 removed ACs were likely to contribute directly to the occurrence of a bug or improvement. To the best of our knowledge, our research is the first to investigate the connection between Atoms of Confusion and the source of bugs or the cause of improvements in Java projects.pt_BR
dc.language.isoenpt_BR
dc.rightsAcesso Abertopt_BR
dc.titleHow they relate and leave: understanding atoms of confusion in open-source java projectspt_BR
dc.typeDissertaçãopt_BR
dc.contributor.co-advisorRocha, Lincoln Souza-
dc.description.abstract-ptbrA compreensão de programa é essencial para aprimorar o entendimento e evitar erros no ciclo de vida do desenvolvimento de software. A confusão de código ocorre quando um desenvolvedor e o computador chegam a interpretações diferentes sobre o comportamento de um mesmo trecho de código. Tais trechos de código podem ser representados como pequenos e isolados padrões de código chamados Átomos de Confusão (ACs). Neste estudo, investigamos empiricamente os efeitos dos ACs no ciclo de vida de desenvolvimento de 21 projetos Java de código aberto. Construímos um dataset que relaciona mais de 8.000 commits, 4.000 issues e 7.000 ACs dos projetos em questão. Nossos resultados demonstraram uma correlação positiva entre o número de ACs e o número de bugs e melhorias relatados. Também investigamos mudanças em commits, buscando uma compreensão mais aprofundada do contexto no qual ACs são removidos. Como cada commit está vinculado a pelo menos uma issue relatada (por exemplo, bug e melhoria), conseguimos comparar a taxa de remoção de ACs em relação a cada tipo de commit e utilizá-la como um indicador para determinar se os ACs são provavelmente a causa por trás de uma issue reportada. Encontramos uma taxa mais elevada de remoção de ACs em commits de correção de bugs e melhorias do que em outros tipos de commits (tarefa, sub-tarefa, nova funcionalidade, desejo e teste) em 14 dos 19 projetos estudados, que tiveram ACs removidos em commits. Finalmente, para apoiar nossos resultados quantitativos, conduzimos uma análise qualitativa para melhor entender com que frequência átomos de confusão contribuíram para a ocorrência de bugs ou melhorias. Analisamos ACs removidos nesses tipos de commits com até dez linhas removidas, analisando o código-fonte, mensagens de cada commit envolvido, além do título, descrição e comentários das issues relacionadas no Jira. Em um universo de 8.641 commits de 21 projetos analisados, 391 removeram ACs. Dentre eles, 53 atenderam à condição para nossa análise qualitativa. Em 7 desses commits, 9 ACs removidos provavelmente contribuíram diretamente para a ocorrência de um bug ou melhoria. Até onde sabemos, nossa pesquisa é a primeira a investigar a conexão entre Átomos de Confusão e a ocorrência de bugs ou gatilhos para melhorias em projetos Java.pt_BR
dc.subject.ptbrCompreensão de programapt_BR
dc.subject.ptbrÁtomos de confusãopt_BR
dc.subject.ptbrEstudo empíricopt_BR
dc.subject.ptbrMineração de dadospt_BR
dc.subject.enProgram comprehensionpt_BR
dc.subject.enAtoms of confusionpt_BR
dc.subject.enEmpirical studypt_BR
dc.subject.enData miningpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
local.author.latteshttp://lattes.cnpq.br/7194447413437813pt_BR
local.advisor.latteshttp://lattes.cnpq.br/1744732999336375pt_BR
local.co-advisor.latteshttp://lattes.cnpq.br/0656977742590515pt_BR
local.date.available2024-03-11-
Aparece nas coleções:DCOMP - Dissertações defendidas na UFC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2024_dis_fopinheironeto.pdf1,47 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.