Bug analysis in Jupyter notebook projects: an empirical study.
| Autor(a) principal: | |
|---|---|
| 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 |