paperbot · PL 论文追踪

全部论文 待读 收藏

P2 EAGLE

EAGLE:基于等价图的深度学习库差分测试
ICSE Proceedings of the 44th International Conference on Software Engineering2022匹配度 3/10 · 该论文属于机器学习软件测试方向,使用差分测试检测深度学习库的不一致 bug,与用户关注的静态分析、浮点程序分析、LLM/Agent 及贝叶斯程序分析等核心方向均无直接关联,仅因涉及 ML 系统与 PL 交叉而略有关联。引用 59 inbox
Jiannan Wang, Thibaud Lutellier, Shangshu Qian, Hung Viet Pham, Lin Tan
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 EAGLE,用等价图对单个深度学习库做差分测试,以检测不一致性 bug。

测试深度学习软件至关重要且充满挑战。现有差分测试常跨库交叉检查相同功能,但要求两个 DL 库实现同一功能,往往不可得;它们还依赖 Keras 补全缺失功能,成本极高且已不再维护。EAGLE 从另一维度做差分测试:用等价图测试单个 DL 实现。等价图通过不同 API、数据类型或优化实现相同功能。作者设计 16 条深度学习等价规则,据此构造等价图对,并在同一实现上交叉检查输出,以检测不一致性缺陷。在 TensorFlow 和 PyTorch 上评估,EAGLE 检测到 25 个 bug(TensorFlow 18 个、PyTorch 7 个),其中 13 个此前未知。

问题
现有深度学习软件差分测试需要两个库实现同一功能,常不可用,且依赖 Keras 补全功能,成本高且难维护;本文关注如何测试单个 DL 库中的不一致性 bug。
方法
设计 16 条深度学习等价规则,用不同 API、数据类型或优化构造功能等价的图对,并在同一 DL 实现上交叉检查其输出。
评估
在 TensorFlow 和 PyTorch 上评估,共检测到 25 个 bug(TensorFlow 18 个、PyTorch 7 个),其中 13 个为此前未知 bug。
原文摘要(Abstract)

Testing deep learning (DL) software is crucial and challenging. Recent approaches use differential testing to cross-check pairs of implementations of the same functionality across different libraries. Such approaches require two DL libraries implementing the same functionality, which is often unavailable. In addition, they rely on a high-level library, Keras, that implements missing functionality in all supported DL libraries, which is prohibitively expensive and thus no longer maintained. To address this issue, we propose EAGLE, a new technique that uses differential testing in a different dimension, by using equivalent graphs to test a single DL implementation (e.g., a single DL library). Equivalent graphs use different Application Programming Interfaces (APIs), data types, or optimizations to achieve the same functionality. The rationale is that two equivalent graphs executed on a single DL implementation should produce identical output given the same input. Specifically, we design 16 new DL equivalence rules and propose a technique, EAGLE, that (1) uses these equivalence rules to build concrete pairs of equivalent graphs and (2) cross-checks the output of these equivalent graphs to detect inconsistency bugs in a DL library. Our evaluation on two widely-used DL libraries, i.e., Tensor Flow and PyTorch, shows that EAGLE detects 25 bugs (18 in Tensor Flow and 7 in PyTorch), including 13 previously unknown bugs.

链接与引用

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

BibTeX
@inproceedings{WangLQP022,
  title = {EAGLE},
  author = {Jiannan Wang and Thibaud Lutellier and Shangshu Qian and Hung Viet Pham and Lin Tan},
  booktitle = {ICSE},
  year = {2022},
  doi = {10.1145/3510003.3510165}
}