一句话:通过观察20名科学家的Jupyter Notebook使用,归纳其目标、质量属性、策略与AI集成,并提出设计建议。
计算 notebook 本应优先服务科学家,但学界对其交互方式、驱动软件开发过程的需求以及满足需求的策略知之甚少。该文对20名科学家日常使用 Jupyter notebooks 进行观察研究,并通过定性分析归纳:(1) 科学家使用 notebook 追求的目标;(2) 他们写作软件时看重的质量属性;(3) 提升质量的战术。研究还识别了科学家将 AI 工具融入 notebook 工作的方式。基于观察,作者提出改进计算 notebook 与未来科学家编程系统的设计建议,重点机会包括帮助管理状态、依赖与抽象,并促进清晰定义组件的有效复用。
Computational notebooks are intended to prioritize the needs of scientists, but little is known about how scientists interact with notebooks, what requirements drive scientists' software development processes, or what tactics scientists use to meet their requirements. We conducted an observational study of 20 scientists using Jupyter notebooks for their day-to-day tasks, finding that scientists prioritize different quality attributes depending on their goals. A qualitative analysis of their usage shows (1) a collection of goals scientists pursue with Jupyter notebooks, (2) a set of quality attributes that scientists value when they write software, and (3) tactics that scientists leverage to promote quality. In addition, we identify ways scientists incorporated AI tools into their notebook work. From our observations, we derive design recommendations for improving computational notebooks and future programming systems for scientists. Key opportunities pertain to helping scientists create and manage state, dependencies, and abstractions in their software, enabling more effective reuse of clearly-defined components.
@inproceedings{paperbot8683,
title = {How Scientists Use Jupyter Notebooks: Goals, Quality Attributes, and Opportunities},
author = {Ruanqianqian Lisa Huang and Savitha Ravi and Michael He and Boyu Tian and Sorin Lerner and Michael Coblenz},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00232}
}