Affiliation:
1. The University of Electro-Communications, Tokyo, Japan
2. The University of Tokyo, Tokyo, Japan
Abstract
Computational notebook environments are popular and de facto standard
tools for programming in data science, whereas computational notebooks are notorious in
software engineering. The criticism there stems from the characteristic
of facilitating unrestricted dynamic patching of running programs, which
makes exploratory coding quick but the resultant code messy and
inconsistent. In this work, we first reveal that dynamic patching is a
natural demand rather than a mere bad practice in data science
programming on Kaggle. We then develop Multiverse Notebook, a
computational notebook engine for time-traveling exploration. It
enables users to time-travel to any past state and restart with new code
from there under state isolation. We present an approach to efficiently
implementing time-traveling exploration. We empirically evaluate
Multiverse Notebook on ten real-world tasks from Kaggle. Our experiments
show that time-traveling exploration on Multiverse Notebook is
reasonably efficient.
Funder
ACT-X, Japan Science and Technology Agency
Publisher
Association for Computing Machinery (ACM)