专为Jupyter笔记本设计的细粒度错误检测系统
JupOtter: Cell-Level Bug Detection in Jupyter Notebooks
- 保留代码块结构的新型分词方法
- 在三个数据集上两个达到更高准确率
- 适合数据科学开发者与自动化测试人员
Jupyter Notebooks 在数据科学和科学计算领域日益流行,但其复杂化导致大量代码错误。为此,我们提出 JupOtter,一种专为笔记本设计的错误检测系统。它包含三项创新:(1)保持代码块结构的笔记本专用分词策略;(2)细胞级错误预测技术;(3)包含超过 21,000 个标注笔记本的新数据集 OtterDataset。在三个评估数据集中,JupOtter 在两个上的细胞级错误检测 F1 分数超越静态分析工具和大语言模型。
原文摘要 · Abstract (English)
Jupyter Notebooks are an increasingly popular coding environment used across many domains, especially in Python-based data science and scientific computing. Originally used for prototyping and interactive exploration, notebooks are increasingly used to develop more complex programs, leading to a rapid rise in buggy notebooks on platforms like GitHub. To address this trend, we present JupOtter, a bug detection system designed specifically for Jupyter Notebooks. JupOtter features three novel contributions: (1) a notebook-specific tokenization strategy that preserves cell structure, (2) a cell-level bug prediction technique, and (3) a new labeled dataset, OtterDataset, containing over 21,000 notebooks annotated for fine-grained cell-level bug detection. JupOtter achieves cell-level bug detection F1 scores that surpass static analyzers and large language models in two out of three evaluation datasets.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。