Bug analysis in Jupyter notebook projects: an empirical study.

Detalhes bibliográficos
Autor(a) principal: Santana, Taijara Loiola de
Data de Publicação: 2024
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFBA
Texto Completo: 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.
id UFBA-2_f5b07fa064acb67f761ee685b752473f
oai_identifier_str oai:repositorio.ufba.br:ri/39887
network_acronym_str UFBA-2
network_name_str Repositório Institucional da UFBA
repository_id_str 1932
spelling 2024-08-15T13:46:15Z2024-03-012024-08-15T13:46:15Z2024-03-01SANTANA, Taijara Loiola de. Bug analysis in Jupyter notebook projects: an empirical study. 2024. 83 f. Dissertação (Mestrado em Ciência da Computação), Instituto de Computação, Universidade Federal da Bahia, Salvador (Bahia), 2024.https://repositorio.ufba.br/handle/ri/39887Uma 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.One of the new technologies driving data science projects is Computational Notebooks, which allow users to build data-oriented codes, emphasizing the data collected and the analysis performed. Although Computational Notebooks have gained visibility, some problems and solutions already discussed and studied by the software engineering community must be addressed, impacting the quality of the developed software and, consequently, data analysis. In addition, neglecting these aspects can lead to the spread of bad programming practices. Computational Notebooks, such as Jupyter, have been widely adopted by data scientists to write code for analyzing and visualizing data. Despite their growing adoption and popularity, few studies are available to understand Jupyter development challenges from the practitioners’ point of view. This dissertation systematically studies bugs and challenges that Jupyter practitioners face through a large-scale empirical investigation. We mined 14,740 commits from 105 GitHub open-source projects with Jupyter Notebook code. Next, we analyzed 30,416 StackOverflow posts, which gave us insights into bugs that practitioners face when developing Jupyter Notebook projects. We conducted nineteen interviews with data scientists to uncover more details about Jupyter bugs and to gain insight into Jupyter developers’ challenges and finally, to validate all the information obtained, we carried out a survey with several data scientists and an analysis with association rules using the Apriori algorithm. We propose a bug taxonomy for Jupyter projects based on our results. We also highlight bug categories, their root causes, and Jupyter practitioners’ challenges.engUniversidade Federal da BahiaPrograma de Pós-Graduação em Ciência da Computação (PGCOMP) UFBABrasilInstituto de Computação - IChttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessCadernos JupyterBugsRepositórios de SoftwareEntrevistasCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOJupyter NotebooksBugsSoftware RepositoriesInterviewsBug analysis in Jupyter notebook projects: an empirical study.Análise de bugs em projetos Jupyter notebook: um estudo empírico.Mestrado Acadêmicoinfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/publishedVersionAlmeida, Eduardo Santana dehttps://orcid.org/0000-0002-9312-6715http://lattes.cnpq.br/8538761803577291Silveira Neto, Paulo Anselmo da Motahttps://orcid.org/0000-0003-0197-8249http://lattes.cnpq.br/6465144387155252Almeida, Eduardo Santana dehttps://orcid.org/0000-0002-9312-6715http://lattes.cnpq.br/8538761803577291Souza, Rodrigo Rocha Gomes ehttps://orcid.org/0000-0001-8186-0069http://lattes.cnpq.br/7697794806460975Conte, Tayana Uchôahttps://orcid.org/0000-0001-6436-3773http://lattes.cnpq.br/6682919653508224https://orcid.org/0009-0000-7716-3244http://lattes.cnpq.br/4821381368517724Santana, Taijara Loiola dereponame:Repositório Institucional da UFBAinstname:Universidade Federal da Bahia (UFBA)instacron:UFBAORIGINALDissertação_Mestrado_2024_v7.pdfDissertação_Mestrado_2024_v7.pdfDisseração de Mestrado 2024 - Taijaraapplication/pdf5654391https://repositorio.ufba.br/bitstream/ri/39887/1/Disserta%c3%a7%c3%a3o_Mestrado_2024_v7.pdff70d9de58c907bb326ac6156c86c1095MD51open accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufba.br/bitstream/ri/39887/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52open accessLICENSElicense.txtlicense.txttext/plain1720https://repositorio.ufba.br/bitstream/ri/39887/3/license.txtd9b7566281c22d808dbf8f29ff0425c8MD53open accessri/398872024-08-15 10:46:16.499open accessoai:repositorio.ufba.br:ri/39887TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCBvIGF1dG9yIG91IHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgbyBkaXJlaXRvIG7Do28tZXhjbHVzaXZvIGRlIHJlcHJvZHV6aXIsIHRyYWR1emlyIChjb25mb3JtZSBkZWZpbmlkbyBhYmFpeG8pIGUvb3UgZGlzdHJpYnVpciBhIHN1YSBwdWJsaWNhw6fDo28gKGluY2x1aW5kbyBvIHJlc3Vtbykgbm8gZm9ybWF0byBpbXByZXNzbyBlL291IGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBlL291IHbDrWRlby4KCk8gYXV0b3Igb3UgdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IgY29uY29yZGEgcXVlIG8gUmVwb3NpdMOzcmlvIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIGUvb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8OjbywgcG9kZW5kbyBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrdXAgZSBwcmVzZXJ2YcOnw6NvLiAKCk8gYXV0b3Igb3UgdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IgZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIG7Do28sIHF1ZSBzZWphIGRlIHNldSBjb25oZWNpbWVudG8sIGluZnJpbmdlIGRpcmVpdG9zIGF1dG9yYWlzIGRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBwYXJhIGNvbmNlZGVyIGFvIFJlcG9zaXTDs3JpbyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EgZSBxdWUgZXNzZSBtYXRlcmlhbCBkZSBwcm9wcmllZGFkZSBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0byBvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBSRVNVTFRFIERFIFVNIFBBVFJPQ8ONTklPIE9VIEFQT0lPIERFIFVNQSBBR8OKTkNJQSBERSBGT01FTlRPIE9VIE9VVFJPIE9SR0FOSVNNTywgVk9Dw4ogREVDTEFSQSBRVUUgUkVTUEVJVE9VIFRPRE9TIEUgUVVBSVNRVUVSIERJUkVJVE9TIERFIFJFVklTw4NPLCBDT01PIFRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUyBFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKTyBSZXBvc2l0w7NyaW8gc2UgY29tcHJvbWV0ZSBhIGlkZW50aWZpY2FyLCBjbGFyYW1lbnRlLCBvIChzKSBzZXUocykgbm9tZSAocykgb3UgbyAocykgbm9tZSAocykgZG8gKHMpIGRldGVudG9yIChlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRhIHB1YmxpY2HDp8OjbyBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuCg==Repositório InstitucionalPUBhttps://repositorio.ufba.br/oai/requestrepositorio@ufba.bropendoar:19322024-08-15T13:46:16Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)false
dc.title.pt_BR.fl_str_mv Bug analysis in Jupyter notebook projects: an empirical study.
dc.title.alternative.pt_BR.fl_str_mv Análise de bugs em projetos Jupyter notebook: um estudo empírico.
title Bug analysis in Jupyter notebook projects: an empirical study.
spellingShingle Bug analysis in Jupyter notebook projects: an empirical study.
Santana, Taijara Loiola de
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Jupyter Notebooks
Bugs
Software Repositories
Interviews
Cadernos Jupyter
Bugs
Repositórios de Software
Entrevistas
title_short Bug analysis in Jupyter notebook projects: an empirical study.
title_full Bug analysis in Jupyter notebook projects: an empirical study.
title_fullStr Bug analysis in Jupyter notebook projects: an empirical study.
title_full_unstemmed Bug analysis in Jupyter notebook projects: an empirical study.
title_sort Bug analysis in Jupyter notebook projects: an empirical study.
author Santana, Taijara Loiola de
author_facet Santana, Taijara Loiola de
author_role author
dc.contributor.advisor1.fl_str_mv Almeida, Eduardo Santana de
dc.contributor.advisor1ID.fl_str_mv https://orcid.org/0000-0002-9312-6715
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/8538761803577291
dc.contributor.advisor-co1.fl_str_mv Silveira Neto, Paulo Anselmo da Mota
dc.contributor.advisor-co1ID.fl_str_mv https://orcid.org/0000-0003-0197-8249
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/6465144387155252
dc.contributor.referee1.fl_str_mv Almeida, Eduardo Santana de
dc.contributor.referee1ID.fl_str_mv https://orcid.org/0000-0002-9312-6715
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/8538761803577291
dc.contributor.referee2.fl_str_mv Souza, Rodrigo Rocha Gomes e
dc.contributor.referee2ID.fl_str_mv https://orcid.org/0000-0001-8186-0069
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/7697794806460975
dc.contributor.referee3.fl_str_mv Conte, Tayana Uchôa
dc.contributor.referee3ID.fl_str_mv https://orcid.org/0000-0001-6436-3773
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/6682919653508224
dc.contributor.authorID.fl_str_mv https://orcid.org/0009-0000-7716-3244
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/4821381368517724
dc.contributor.author.fl_str_mv Santana, Taijara Loiola de
contributor_str_mv Almeida, Eduardo Santana de
Silveira Neto, Paulo Anselmo da Mota
Almeida, Eduardo Santana de
Souza, Rodrigo Rocha Gomes e
Conte, Tayana Uchôa
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Jupyter Notebooks
Bugs
Software Repositories
Interviews
Cadernos Jupyter
Bugs
Repositórios de Software
Entrevistas
dc.subject.por.fl_str_mv Jupyter Notebooks
Bugs
Software Repositories
Interviews
dc.subject.other.pt_BR.fl_str_mv Cadernos Jupyter
Bugs
Repositórios de Software
Entrevistas
description 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.
publishDate 2024
dc.date.accessioned.fl_str_mv 2024-08-15T13:46:15Z
dc.date.available.fl_str_mv 2024-03-01
2024-08-15T13:46:15Z
dc.date.issued.fl_str_mv 2024-03-01
dc.type.driver.fl_str_mv Mestrado Acadêmico
info:eu-repo/semantics/masterThesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv SANTANA, Taijara Loiola de. Bug analysis in Jupyter notebook projects: an empirical study. 2024. 83 f. Dissertação (Mestrado em Ciência da Computação), Instituto de Computação, Universidade Federal da Bahia, Salvador (Bahia), 2024.
dc.identifier.uri.fl_str_mv https://repositorio.ufba.br/handle/ri/39887
identifier_str_mv SANTANA, Taijara Loiola de. Bug analysis in Jupyter notebook projects: an empirical study. 2024. 83 f. Dissertação (Mestrado em Ciência da Computação), Instituto de Computação, Universidade Federal da Bahia, Salvador (Bahia), 2024.
url https://repositorio.ufba.br/handle/ri/39887
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal da Bahia
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação (PGCOMP) 
dc.publisher.initials.fl_str_mv UFBA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto de Computação - IC
publisher.none.fl_str_mv Universidade Federal da Bahia
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFBA
instname:Universidade Federal da Bahia (UFBA)
instacron:UFBA
instname_str Universidade Federal da Bahia (UFBA)
instacron_str UFBA
institution UFBA
reponame_str Repositório Institucional da UFBA
collection Repositório Institucional da UFBA
bitstream.url.fl_str_mv https://repositorio.ufba.br/bitstream/ri/39887/1/Disserta%c3%a7%c3%a3o_Mestrado_2024_v7.pdf
https://repositorio.ufba.br/bitstream/ri/39887/2/license_rdf
https://repositorio.ufba.br/bitstream/ri/39887/3/license.txt
bitstream.checksum.fl_str_mv f70d9de58c907bb326ac6156c86c1095
e39d27027a6cc9cb039ad269a5db8e34
d9b7566281c22d808dbf8f29ff0425c8
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)
repository.mail.fl_str_mv repositorio@ufba.br
_version_ 1847338980745412608