paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Audee

Audee:深度学习框架测试与缺陷定位
ASE Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering2020匹配度 5/10 · 论文研究深度学习框架的测试与缺陷定位,属于PL技术应用于ML系统的范畴,与“PL→AI”方向有一定交集;但方法为基于搜索的测试而非静态分析,也未涉及LLM/Agent或浮点程序分析,因此匹配度中等。引用 89 inbox
Qianyu Guo, Xiaofei Xie, Yi Li, Xiaoyu Zhang, Yang Liu, Xiaohong Li, Chao Shen
crossref: 2026-09-12

AI 速览

一句话:提出基于搜索的深度学习框架测试与缺陷定位方法 Audee,可检测逻辑错误、崩溃和 NaN 错误。

现有深度学习质量分析主要关注模型本身,而忽视了所有模型所依赖的底层框架,尤其缺乏对框架实现缺陷的测试与定位。本文提出 Audee,一种面向深度学习框架的测试与缺陷定位方法。Audee 采用基于搜索的方法,并实现三种变异策略,通过探索模型结构、参数、权重和输入的组合来生成多样化测试用例。它能够检测逻辑错误、崩溃和 Not-a-Number 错误:对逻辑错误采用跨框架交叉引用检查,发现 TensorFlow 与 PyTorch 等框架间的行为不一致;对 NaN 采用启发式方法生成易输出极端值的 DNN。Audee 还利用因果测试定位导致不一致或错误的层与参数。作者在 TensorFlow、PyTorch、CNTK 和 Theano 四个框架上覆盖 25 个 API 进行评估,共发现 26 个未知 bug,其中 7 个已被开发者确认或修复。

问题
现有工作主要分析深度学习模型质量,却较少关注其依赖的深度学习框架本身的实现缺陷,缺乏有效的框架测试与 bug 定位手段。
方法
Audee 采用基于搜索的测试方法,利用三种变异策略生成覆盖模型结构、参数、权重和输入的测试用例,并结合跨框架交叉引用、启发式 NaN 触发和因果测试来检测并定位缺陷。
评估
在 TensorFlow、PyTorch、CNTK 和 Theano 四个框架上覆盖 25 个广泛使用的 API 进行测试,检测行为不一致、崩溃和 NaN 错误,共发现 26 个未知 bug,其中 7 个已被确认或修复。
原文摘要(Abstract)

Deep learning (DL) has been applied widely, and the quality of DL system becomes crucial, especially for safety-critical applications. Existing work mainly focuses on the quality analysis of DL models, but lacks attention to the underlying frameworks on which all DL models depend. In this work, we propose Audee, a novel approach for testing DL frameworks and localizing bugs. Audee adopts a search-based approach and implements three different mutation strategies to generate diverse test cases by exploring combinations of model structures, parameters, weights and inputs. Audee is able to detect three types of bugs: logical bugs, crashes and Not-a-Number (NaN) errors. In particular, for logical bugs, Audee adopts a cross-reference check to detect behavioural inconsistencies across multiple frameworks (e.g., TensorFlow and PyTorch), which may indicate potential bugs in their implementations. For NaN errors, Audee adopts a heuristic-based approach to generate DNNs that tend to output outliers (i.e., too large or small values), and these values are likely to produce NaN. Furthermore, Audee leverages a causal-testing based technique to localize layers as well as parameters that cause inconsistencies or bugs. To evaluate the effectiveness of our approach, we applied Audee on testing four DL frameworks, i.e., TensorFlow, PyTorch, CNTK, and Theano. We generate a large number of DNNs which cover 25 widely-used APIs in the four frameworks. The results demonstrate that Audee is effective in detecting inconsistencies, crashes and NaN errors. In total, 26 unique unknown bugs were discovered, and 7 of them have already been confirmed or fixed by the developers.

链接与引用

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

BibTeX
@inproceedings{paperbot5909,
  title = {Audee},
  author = {Qianyu Guo and Xiaofei Xie and Yi Li and Xiaoyu Zhang and Yang Liu and Xiaohong Li and Chao Shen},
  booktitle = {ASE},
  year = {2020},
  doi = {10.1145/3324884.3416571}
}