A Static Analysis Framework for Data Science Notebooks
Not on the map. Why?
Abstract (arXiv)
Notebooks provide an interactive environment for programmers to develop code, analyse data and inject interleaved visualizations in a single environment. Despite their flexibility, a major pitfall that data scientists encounter is unexpected behaviour caused by the unique out-of-order execution model of notebooks. As a result, data scientists face various challenges ranging from notebook correctness, reproducibility and cleaning. In this paper, we propose a framework that performs static analysis on notebooks, incorporating their unique execution semantics. Our framework is general in the sense that it accommodate for a wide range of analyses, useful for various notebook use cases. We have instantiated our framework on a diverse set of analyses and have evaluated them on 2211 real world notebooks. Our evaluation demonstrates that the vast majority (98.7%) of notebooks can be analysed in less than a second, well within the time frame required by interactive notebook clients
Key facts. Cited by 4 papers in the map (data through 14 Oct 2026). First posted on arXiv 15 Oct 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 1; 2023: 0; 2024: 1; 2025: 1; 2026: 1.
4 papers.
- 2024Contextualized Data-Wrangling Code Generation in Computational Notebookscited by 3
- 2022A Data Source Dependency Analysis Framework for Large Scale Data Science Projectscited by 0
- 2025Analysing Python Machine Learning Notebooks with Moosecited by 0
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebookscited by 0
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebooks22 Jun 2026
- 2025Analysing Python Machine Learning Notebooks with Moose15 Sep 2025
- 2024Contextualized Data-Wrangling Code Generation in Computational Notebooks20 Sep 2024
- 2022A Data Source Dependency Analysis Framework for Large Scale Data Science Projects15 Dec 2022