Elevating Jupyter Notebook Maintenance Tooling by Identifying and Extracting Notebook Structures

kaestner@cs.cmu.edu (Y. Jiang, C. Kästner, S. Zhou)
Thu, 2 Feb 2023 10:55:04 GMT

Yuan Jiang, Christian Kästner, and Shurui Zhou. Elevating Jupyter Notebook Maintenance Tooling by Identifying and Extracting Notebook Structures. In Proceedings of the 38th International Conference on Software Maintenance and Evolution (ICSME), pages 399--403, October 2022.

Data analysis is an exploratory, interactive, and often collaborative process. Computational notebooks have become a popular tool to support this process, among others because of their ability to interleave code, narrative text, and results. However, notebooks in practice are often criticized as hard to maintain and being of low code quality, including problems such as unused or duplicated code and out-of-order code execution. Data scientists can benefit from better tool support when maintaining and evolving notebooks. We argue that central to such tool support is identifying the structure of notebooks. We present a lightweight and accurate approach to extract notebook structure and outline several ways such structure can be used to improve maintenance tooling for notebooks, including navigation and finding alternatives.