paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Restoring Execution Environments of Jupyter Notebooks

恢复 Jupyter Notebook 的执行环境
ICSE 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)2021匹配度 3/10 · 论文利用静态分析恢复 Jupyter Notebook 的执行环境,属于程序分析在开发者工具中的应用,但与用户核心关注的 LLM/Agent 交叉、浮点程序分析、贝叶斯程序分析等方向无直接关联,且不涉及理论形式化或工业落地案例的深入探讨。引用 58 inbox
Jiawei Wang, Li Li, Andreas Zeller
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:SnifferDog 通过收集 Python 包 API 数据库并分析 notebook 推断所需依赖包及版本,恢复其可执行环境。

超过 90% 已发表的 Jupyter notebook 没有声明对外部包的依赖,这导致 notebook 无法执行,也阻碍了科学结果的可复现性。本文提出 SnifferDog:首先收集 Python 包及其版本的 API 信息,构建 API 数据库;其次分析 notebook 中使用的 API,推断所需的候选包与版本;最后检查哪些包组合能使 notebook 真正可执行,并尽可能复现其中记录的结果。评估表明,SnifferDog 能为绝大多数 notebook 精确恢复执行环境,使其对终端用户立即可执行。

问题
已发布的 Jupyter notebook 大多未声明外部包依赖,导致无法执行、科研结果难以复现。
方法
构建 Python 包 API 与版本数据库,分析 notebook 推断依赖候选,并验证能使 notebook 可执行(及复现结果)的包与版本。
评估
在真实 notebook 数据集上评估,SnifferDog 能为绝大多数 notebook 精确恢复执行环境,使其立即可执行。
原文摘要(Abstract)

More than ninety percent of published Jupyternotebooks do not state dependencies on external packages. This makes them non-executable and thus hinders reproducibility of scientific results. We present SnifferDog, an approach that1) collects the APIs of Python packages and versions, creating a database of APIs; 2) analyzes notebooks to determine candidates for required packages and versions; and 3) checks which packages are required to make the notebook executable(and ideally, reproduce its stored results). In its evaluation, we show thatSnifferDogprecisely restores execution environments for the largest majority of notebooks, making them immediately executable for end users.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{WangLZ21,
  title = {Restoring Execution Environments of Jupyter Notebooks},
  author = {Jiawei Wang and Li Li and Andreas Zeller},
  booktitle = {ICSE},
  year = {2021},
  doi = {10.1109/icse43902.2021.00144}
}