Bug analysis in Jupyter notebook projects: an empirical study.

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: Santana, Taijara Loiola de lattes
Orientador(a): Almeida, Eduardo Santana de lattes
Banca de defesa: Almeida, Eduardo Santana de lattes, Souza, Rodrigo Rocha Gomes e lattes, Conte, Tayana Uchôa lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal da Bahia
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação (PGCOMP) 
Departamento: Instituto de Computação - IC
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufba.br/handle/ri/39887
Resumo: Uma das novas tecnologias que vêm impulsionando a ciência de dados são os Notebooks Computacionais, que permitem aos usuários construir códigos orientados a dados, enfatizando a análise realizada e os dados obtidos. Apesar de os Notebooks computacionais ganharem visibilidade, problemas e soluções já discutidos e estudados pela engenharia de software precisam ser abordados, impactando a qualidade do software desenvolvido e, consequentemente, a análise de dados. Isso também pode levar à disseminação de práticas de programação inadequadas. Notebooks computacionais, como o Jupyter, têm sido amplamente adotados por cientistas de dados para escrever código para análise e visualização de dados. Apesar de sua crescente adoção e popularidade, poucos estudos foram encontrados para compreender os desafios de desenvolvimento do Jupyter do ponto de vista dos praticantes. Este estudo apresenta uma investigação sistemática de bugs e desafios que os praticantes do Jupyter enfrentam por meio de uma investigação empírica em larga escala. Mineramos 14.740 commits de 105 projetos de código aberto do GitHub com código de Notebooks Jupyter. Em seguida, analisamos 30.416 postagens no Stack Overflow, que nos deram insights sobre bugs que os praticantes enfrentam ao desenvolver projetos de Notebooks Jupyter. Conduzimos dezenove entrevistas com cientistas de dados para descobrir mais detalhes sobre os bugs do Jupyter e obter insights sobre os desafios dos desenvolvedores do Jupyter e, por fim, para validar todas as informações obtidas, realizamos um survey com diversos cientistas de dados e uma análise com regras de associação utilizando o algoritmo Apriori. Propomos uma taxonomia de bugs para projetos Jupyter com base em nossos resultados. Também destacamos categorias de bugs, suas causas raiz e os desafios que os praticantes do Jupyter enfrentam.