MétaCan
Menu
Back to cohort
Record W3152754465 · doi:10.5281/zenodo.3519618

Dataset of A Large-scale Study about Quality and Reproducibility of Jupyter Notebooks / Understanding and Improving the Quality and Reproducibility of Jupyter Notebooks

2019· dataset· en· W3152754465 on OpenAlexaboutno aff
João Felipe, Léonardo, Vanessa, Juliana Juliana

Bibliographic record

VenueFigshare · 2019
Typedataset
Languageen
FieldComputer Science
TopicEducation and Learning Interventions
Canadian institutionsnot available
Fundersnot available
KeywordsReproducibilityQuality (philosophy)Scale (ratio)Computer scienceData qualityData miningData sciencePsychologyReliability engineeringStatisticsEngineeringMathematicsCartographyGeographyOperations managementPhysics

Abstract

fetched live from OpenAlex

The self-documenting aspects and the ability to reproduce results have been touted as significant benefits of Jupyter Notebooks. At the same time, there has been growing criticism that the way notebooks are being used leads to unexpected behavior, encourages poor coding practices and that their results can be hard to reproduce. To understand good and bad practices used in the development of real notebooks, we analyzed 1.4 million notebooks from GitHub. Based on the results, we proposed and evaluated Julynter, a linting tool for Jupyter Notebooks. Papers: PIMENTEL, J. F.; MURTA, L.; BRAGANHOLO, V.; FREIRE, J.; A large-scale study about quality and reproducibility of jupyter notebooks. In: International Conference on Mining Software Repositories (MSR), 2019, Montreal, Canada. PIMENTEL, J. F.; MURTA, L.; BRAGANHOLO, V.; FREIRE, J.; Understanding and Improving the Quality and Reproducibility of Jupyter Notebooks. Empirical Software Engineering, 2021 (in press) This repository contains three files: db2020-09-22.dump.gz sample.tar.gz julynter_reproducility.tar.gz <strong>Reproducing the Notebook Study</strong> The db2020-09-22.dump.gz file contains a PostgreSQL dump of the database, with all the data we extracted from notebooks. For loading it, run: <pre><code class="language-bash">gunzip -c db2020-09-22.dump.gz | psql jupyter</code></pre> Note that this file contains only the database with the extracted data. The actual repositories are available in a google drive folder, which also contains the docker images we used in the reproducibility study. The repositories are stored as <em>content/{hash_dir1}/{hash_dir2}.tar.bz2</em>, where <em>hash_dir1 </em>and <em>hash_dir2</em> are columns of <em>repositories</em> in the database. For scripts, notebooks, and detailed instructions on how to analyze or reproduce the data collection, please check the instructions on the Jupyter Archaeology repository (tag 1.0.0) The sample.tar.gz file contains the repositories obtained during the manual sampling. <strong>Reproducing the Julynter Experiment</strong> The julynter_reproducility.tar.gz file contains all the data collected in the Julynter experiment and the analysis notebooks. Reproducing the analysis is straightforward: Uncompress the file: $ tar zxvf julynter_reproducibility.tar.gz Install the dependencies: $ pip install julynter/requirements.txt Run the notebooks in order: J1.Data.Collection.ipynb; J2.Recommendations.ipynb; J3.Usability.ipynb. The collected data is stored in the julynter/data folder. <strong>Changelog</strong> 2019/01/14 - Version 1 - Initial version<br> 2019/01/22 - Version 2 - Update N8.Execution.ipynb to calculate the rate of failure for each reason<br> 2019/03/13 - Version 3 - Update package for camera ready. Add columns to db to detect duplicates, change notebooks to consider them, and add N1.Skip.Notebook.ipynb and N11.Repository.With.Notebook.Restriction.ipynb.<br> 2021/03/15 - Version 4 - Add Julynter experiment; Update database dump to include new data collected for the second paper; remove scripts and analysis notebooks from this package (moved to GitHub), add a link to Google Drive with collected repository files

Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.

How this classification was reachedexpand

Full frame distilled prediction

Teacher imitation

Not calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.

metaresearch head score (Codex)0.012
metaresearch head score (Gemma)0.011
Version: codex-gemma-dda1882f352aValidation status: machine_predicted_unvalidated
Candidate categoriesMetaresearch, Meta-epidemiology (narrow), Insufficient payload (model declined to judge)
Consensus categoriesnone
DomainCandidate signal: none · Consensus signal: none
Study designCandidate signal: Not applicable · Consensus signal: none
GenreCandidate signal: Dataset · Consensus signal: Dataset
Teacher disagreement score0.809
Threshold uncertainty score1.000

Codex and Gemma teacher scores by category

CategoryCodexGemma
Metaresearch0.0120.011
Meta-epidemiology (narrow)0.0000.000
Meta-epidemiology (broad)0.0010.000
Bibliometrics0.0000.000
Science and technology studies0.0000.000
Scholarly communication0.0000.000
Open science0.0010.002
Research integrity0.0000.001
Insufficient payload (model declined to judge)0.0010.000

Machine scores (provisional)

The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.

Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.

Opus teacher head0.237
GPT teacher head0.418
Teacher spread0.181 · how far apart the two teachers sit on this one work
Validation statusscore_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from it

Classification

machine, unvalidated

Machine predicted; a candidate call from one teacher head, not a consensus.

Study designNot applicable
Domainnot available
GenreDataset

How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".

Quick stats

Citations0
Published2019
Admission routes1
Has abstractyes

Explore more

Same venueFigshareSame topicEducation and Learning InterventionsFrench-language works237,207