Enhancing Computational Notebooks with Code+Data Space Versioning
Hanxi Fang, Supawit Chockchowwat, Hari Sundaram, Yongjoo Park
TL;DR
The paper identifies a fundamental mismatch between nonlinear data exploration and traditional notebook workflows, and introduces Kishuboard, a system implementing two-dimensional code+data space versioning. It formalizes a data model and safe checkout rules to ensure consistent code+data states while enabling execution rollbacks and code+data checkouts, complemented by a one-dimensional commit history graph for usability. An end-to-end prototype integrated with Jupyter demonstrates real-time synchronization and supports use-case driven workflows, with a human-subject study showing productivity gains, especially for compute-intensive tasks, and high user acceptance. The work outlines practical implications for interactive data science, including intuitive UI design, automatic folding, and variable-focused diff mechanisms, laying groundwork for broader adoption and future work in collaboration, semantic search, and scalable comparison across explorations.
Abstract
There is a gap between how people explore data and how Jupyter-like computational notebooks are designed. People explore data nonlinearly, using execution undos, branching, and/or complete reverts, whereas notebooks are designed for sequential exploration. Recent works like ForkIt are still insufficient to support these multiple modes of nonlinear exploration in a unified way. In this work, we address the challenge by introducing two-dimensional code+data space versioning for computational notebooks and verifying its effectiveness using our prototype system, Kishuboard, which integrates with Jupyter. By adjusting code and data knobs, users of Kishuboard can intuitively manage the state of computational notebooks in a flexible way, thereby achieving both execution rollbacks and checkouts across complex multi-branch exploration history. Moreover, this two-dimensional versioning mechanism can easily be presented along with a friendly one-dimensional history. Human subject studies indicate that Kishuboard significantly enhances user productivity in various data science tasks.
