Bug analysis in Jupyter notebook projects: an empirical study. - Santana, Taijara Loiola de (2024)
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.