Better Code, Better Sharing:On the Need of Analyzing Jupyter Notebooks
Not on the map. Why?
Abstract (arXiv)
By bringing together code, text, and examples, Jupyter notebooks have become one of the most popular means to produce scientific results in a productive and reproducible way. As many of the notebook authors are experts in their scientific fields, but laymen with respect to software engineering, one may ask questions on the quality of notebooks and their code. In a preliminary study, we experimentally demonstrate that Jupyter notebooks are inundated with poor quality code, e.g., not respecting recommended coding practices, or containing unused variables and deprecated functions. Considering the education nature of Jupyter notebooks, these poor coding practices as well as the lacks of quality control might be propagated into the next generation of developers. Hence, we argue that there is a strong need to programmatically analyze Jupyter notebooks, calling on our community to pay more attention to the reliability of Jupyter notebooks.
Key facts. Cited by 13 papers in the map (data through 7 Oct 2026). First posted on arXiv 12 Jun 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 6; 2023: 1; 2024: 1; 2025: 1; 2026: 3.
13 papers.
Sort:
- 2022On Continuous Integration / Continuous Delivery for Automated Deployment of Machine Learning Models using MLOpscited by 8
- 2022Towards a Change Taxonomy for Machine Learning Systemscited by 6
- 2022Eliciting Best Practices for Collaboration with Computational Notebookscited by 4
- 2022Pynblint: a Static Analyzer for Python Jupyter Notebookscited by 3
- 2021Context-aware Execution Migration Tool for Data Science Jupyter Notebooks on Hybrid Cloudscited by 2
- 2022What is Software Quality for AI Engineers? Towards a Thinning of the Fogcited by 2
- 2023Machine Learning practices and infrastructurescited by 2
- 2022Assessing the Quality of Computational Notebooks for a Frictionless Transition from Exploration to Productioncited by 1
- 2024Predicting the Understandability of Computational Notebooks through Code Metrics Analysiscited by 0
- 2025Analysing Python Machine Learning Notebooks with Moosecited by 0
- 2026Data-aware Static Analysis: Improving Detection of Semantic Faults in Machine Learning Code Using Data Characteristicscited by 0
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebookscited by 0
1 more
- 2026PandasCorpus: A Resource of Real-World Pandas Workflows and Usage Patterns13 Aug 2026
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebooks22 Jun 2026
- 2026Data-aware Static Analysis: Improving Detection of Semantic Faults in Machine Learning Code Using Data Characteristics8 Jun 2026
- 2025Analysing Python Machine Learning Notebooks with Moose15 Sep 2025
- 2024Predicting the Understandability of Computational Notebooks through Code Metrics Analysis16 Jun 2024
- 2023Machine Learning practices and infrastructures13 Jul 2023
- 2022Assessing the Quality of Computational Notebooks for a Frictionless Transition from Exploration to Production24 May 2022
- 2022Pynblint: a Static Analyzer for Python Jupyter Notebooks24 May 2022
- 2022What is Software Quality for AI Engineers? Towards a Thinning of the Fog23 Mar 2022
- 2022Towards a Change Taxonomy for Machine Learning Systems21 Mar 2022
- 2022Eliciting Best Practices for Collaboration with Computational Notebooks15 Feb 2022
- 2022On Continuous Integration / Continuous Delivery for Automated Deployment of Machine Learning Models using MLOps7 Feb 2022
- 2022On Continuous Integration / Continuous Delivery for Automated Deployment of Machine Learning Models using MLOpscited by 8
- 2022Towards a Change Taxonomy for Machine Learning Systemscited by 6
- 2022Eliciting Best Practices for Collaboration with Computational Notebookscited by 4
- 2022Pynblint: a Static Analyzer for Python Jupyter Notebookscited by 3
- 2021Context-aware Execution Migration Tool for Data Science Jupyter Notebooks on Hybrid Cloudscited by 2
- 2022What is Software Quality for AI Engineers? Towards a Thinning of the Fogcited by 2
- 2023Machine Learning practices and infrastructurescited by 2
- 2022Assessing the Quality of Computational Notebooks for a Frictionless Transition from Exploration to Productioncited by 1
- 2024Predicting the Understandability of Computational Notebooks through Code Metrics Analysiscited by 0
- 2025Analysing Python Machine Learning Notebooks with Moosecited by 0
- 2026Data-aware Static Analysis: Improving Detection of Semantic Faults in Machine Learning Code Using Data Characteristicscited by 0
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebookscited by 0
12 most cited of 13 All 13 (JSON)
- 2026PandasCorpus: A Resource of Real-World Pandas Workflows and Usage Patterns13 Aug 2026
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebooks22 Jun 2026
- 2026Data-aware Static Analysis: Improving Detection of Semantic Faults in Machine Learning Code Using Data Characteristics8 Jun 2026
- 2025Analysing Python Machine Learning Notebooks with Moose15 Sep 2025
- 2024Predicting the Understandability of Computational Notebooks through Code Metrics Analysis16 Jun 2024
- 2023Machine Learning practices and infrastructures13 Jul 2023
- 2022Assessing the Quality of Computational Notebooks for a Frictionless Transition from Exploration to Production24 May 2022
- 2022Pynblint: a Static Analyzer for Python Jupyter Notebooks24 May 2022
- 2022What is Software Quality for AI Engineers? Towards a Thinning of the Fog23 Mar 2022
- 2022Towards a Change Taxonomy for Machine Learning Systems21 Mar 2022
- 2022Eliciting Best Practices for Collaboration with Computational Notebooks15 Feb 2022
- 2022On Continuous Integration / Continuous Delivery for Automated Deployment of Machine Learning Models using MLOps7 Feb 2022
12 newest of 13 All 13 (JSON)