Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings 2020
DOI: 10.1145/3377812.3390803
|View full text |Cite
|
Sign up to set email alerts
|

Restoring reproducibility of Jupyter notebooks

Abstract: More than ninety percent of published Jupyter notebooks do not state dependencies on external packages. This makes them non-executable and thus hinders reproducibility of scientific results. We present SnifferDog, an approach that 1) collects the APIs of Python packages and versions, creating a database of APIs; 2) analyzes notebooks to determine candidates for required packages and versions; and 3) checks which packages are required to make the notebook executable (and ideally, reproduce its stored results). … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
5

Citation Types

0
6
0

Year Published

2021
2021
2025
2025

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 16 publications
(6 citation statements)
references
References 19 publications
(21 reference statements)
0
6
0
Order By: Relevance
“…For instance, [ 34 ], [ 35 ], and [ 36 ] laid out principles for reproducible computational research in general. In a similar vein, [ 37 ] and [ 38 ] looked at specifics of computational reproducibility in the life sciences, [ 39 ] explored the use of Docker—a containerization tool—in reproducibility contexts, and [ 40 ] looked at the reproducibility of R scripts archived in an institutional repository, while [ 41 ], [ 42 ], as well as [ 43 ], [ 44 ], and [ 45 ] zoomed in on Jupyter notebooks, a popular file format for documenting and sharing computational workflows. Though most of these guiding documents are language agnostic, language-specific approaches to computational reproducibility have also been outlined, for example, for Python [ 46 ].…”
Section: Introductionmentioning
confidence: 99%
“…For instance, [ 34 ], [ 35 ], and [ 36 ] laid out principles for reproducible computational research in general. In a similar vein, [ 37 ] and [ 38 ] looked at specifics of computational reproducibility in the life sciences, [ 39 ] explored the use of Docker—a containerization tool—in reproducibility contexts, and [ 40 ] looked at the reproducibility of R scripts archived in an institutional repository, while [ 41 ], [ 42 ], as well as [ 43 ], [ 44 ], and [ 45 ] zoomed in on Jupyter notebooks, a popular file format for documenting and sharing computational workflows. Though most of these guiding documents are language agnostic, language-specific approaches to computational reproducibility have also been outlined, for example, for Python [ 46 ].…”
Section: Introductionmentioning
confidence: 99%
“…Jupyter Notebooks are the "de-facto standard" for data scientists [14], and much has been learned about how reproducible they are, the quality of the code written in them, and the narratives that describe the analyses within them [15,18,21,22]. These studies agree that notebook code is frequently low-quality and error-prone.…”
Section: Introductionmentioning
confidence: 99%
“…The growing popularity of computational notebooks has attracted the interest of many researchers (e.g., [60,72,73]). Besides the clear advantages of providing a narrative through code cells interleaved with inline documentation, many pitfalls and downsides have been identified when using notebooks [13,25], particularly in collaborative environments or when they are developed as production-level artifacts within AI-based systems [26,36,41,53,59].…”
Section: Introductionmentioning
confidence: 99%
“…Wang et al [71] describe this collaborative scenario as a 'scatter-gather' process where data scientists switch repeatedly between individual exploratory analyses (scatter) and insights discussion sessions (gather) until project completion. As such, here data scientists should make sure to fully leverage the self-documenting nature of computational notebooks, by writing exhaustive explanations of their work in natural language text [60] and checking that their computation can be re-executed without errors and fully reproduced by other colleagues [53,72].…”
Section: Introductionmentioning
confidence: 99%