Fuzzing Automatic Differentiation in Deep-Learning Libraries
Not on the map. Why?
Abstract (arXiv)
Deep learning (DL) has attracted wide attention and has been widely deployed in recent years. As a result, more and more research efforts have been dedicated to testing DL libraries and frameworks. However, existing work largely overlooked one crucial component of any DL system, automatic differentiation (AD), which is the basis for the recent development of DL. To this end, we propose nablaFuzz, the first general and practical approach specifically targeting the critical AD component in DL libraries. Our key insight is that each DL library API can be abstracted into a function processing tensors/vectors, which can be differentially tested under various execution scenarios (for computing outputs/gradients with different implementations). We have implemented nablaFuzz as a fully automated API-level fuzzer targeting AD in DL libraries, which utilizes differential testing on different execution scenarios to test both first-order and high-order gradients, and also includes automated filtering strategies to remove false positives caused by numerical instability. We have performed an extensive study on four of the most popular and actively-maintained DL libraries, PyTorch, TensorFlow, JAX, and OneFlow. The result shows that nablaFuzz substantially outperforms state-of-the-art fuzzers in terms of both code coverage and bug detection. To date, nablaFuzz has detected 173 bugs for the studied DL libraries, with 144 already confirmed by developers (117 of which are previously unknown bugs and 107 are related to AD). Remarkably, nablaFuzz contributed 58.3% (7/12) of all high-priority AD bugs for PyTorch and JAX during a two-month period. None of the confirmed AD bugs were detected by existing fuzzers.
Key facts. Cited by 16 papers in the map (data through 7 Oct 2026). First posted on arXiv 8 Feb 2023.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2023: 5; 2024: 4; 2025: 3; 2026: 4.
16 papers.
Sort:
By area:
- 2023WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Modelscited by 37
- 2025KNighter: Transforming Static Analysis with LLM-Synthesized Checkerscited by 22
- 2023KernelGPT: Enhanced Kernel Fuzzing via Large Language Modelscited by 17
- 2024Retrieval-Augmented Test Generation: How Far Are We?cited by 7
- 2026The Correctness Illusion in LLM-Generated GPU Kernelscited by 6
- 2024Deep Learning Library Testing: Definition, Methods and Challengescited by 4
- 2024Enhancing Differential Testing With LLMs For Testing Deep Learning Librariescited by 4
- 2023Test & Evaluation Best Practices for Machine Learning-Enabled Systemscited by 3
- 2023Retromorphic Testing: A New Approach to the Test Oracle Problemcited by 2
- 2024Productively Deploying Emerging Models on Emerging Platforms: A Top-Down Approach for Testing and Debuggingcited by 2
- 2025TTrace: Lightweight Error Checking and Diagnosis for Distributed Trainingcited by 1
- 2025HFuzzer: Testing Large Language Models for Package Hallucinations via Phrase-based Fuzzingcited by 1
4 more
- 2026Operator-Aware Mixed-Precision Tolerance Calibration for Tensor Kernelscited by 1
- 2023Zero Coordinate Shift: Whetted Automatic Differentiation for Physics-informed Operator Learningcited by 0
- 2026Test-Input Generation for Tensor Programs: What Actually Finds Kernel Bugscited by 0
- 2026Silent Failures Beyond the 32-Bit Index Range: A Differential Characterization of Large-Tensor Matrix Multiplication in PyTorch's MPS Backendcited by 0
- 2026Silent Failures Beyond the 32-Bit Index Range: A Differential Characterization of Large-Tensor Matrix Multiplication in PyTorch's MPS Backend19 Sep 2026
- 2026Operator-Aware Mixed-Precision Tolerance Calibration for Tensor Kernels23 Jun 2026
- 2026Test-Input Generation for Tensor Programs: What Actually Finds Kernel Bugs23 Jun 2026
- 2026The Correctness Illusion in LLM-Generated GPU Kernels18 Jun 2026
- 2025HFuzzer: Testing Large Language Models for Package Hallucinations via Phrase-based Fuzzing28 Sep 2025
- 2025TTrace: Lightweight Error Checking and Diagnosis for Distributed Training10 Jun 2025
- 2025KNighter: Transforming Static Analysis with LLM-Synthesized Checkers12 Mar 2025
- 2024Retrieval-Augmented Test Generation: How Far Are We?19 Sep 2024
- 2024Enhancing Differential Testing With LLMs For Testing Deep Learning Libraries12 Jun 2024
- 2024Deep Learning Library Testing: Definition, Methods and Challenges27 Apr 2024
- 2024Productively Deploying Emerging Models on Emerging Platforms: A Top-Down Approach for Testing and Debugging14 Apr 2024
- 2023KernelGPT: Enhanced Kernel Fuzzing via Large Language Models31 Dec 2023
4 more
- 2023Zero Coordinate Shift: Whetted Automatic Differentiation for Physics-informed Operator Learning1 Nov 2023
- 2023WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models24 Oct 2023
- 2023Test & Evaluation Best Practices for Machine Learning-Enabled Systems10 Oct 2023
- 2023Retromorphic Testing: A New Approach to the Test Oracle Problem10 Oct 2023
- 2024Retrieval-Augmented Test Generation: How Far Are We?cited by 7
- 2024Retrieval-Augmented Test Generation: How Far Are We?19 Sep 2024
- 2023WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Modelscited by 37
- 2025KNighter: Transforming Static Analysis with LLM-Synthesized Checkerscited by 22
- 2023KernelGPT: Enhanced Kernel Fuzzing via Large Language Modelscited by 17
- 2026The Correctness Illusion in LLM-Generated GPU Kernelscited by 6
- 2024Deep Learning Library Testing: Definition, Methods and Challengescited by 4
- 2024Enhancing Differential Testing With LLMs For Testing Deep Learning Librariescited by 4
- 2023Test & Evaluation Best Practices for Machine Learning-Enabled Systemscited by 3
- 2023Retromorphic Testing: A New Approach to the Test Oracle Problemcited by 2
- 2024Productively Deploying Emerging Models on Emerging Platforms: A Top-Down Approach for Testing and Debuggingcited by 2
- 2025TTrace: Lightweight Error Checking and Diagnosis for Distributed Trainingcited by 1
- 2025HFuzzer: Testing Large Language Models for Package Hallucinations via Phrase-based Fuzzingcited by 1
- 2026Operator-Aware Mixed-Precision Tolerance Calibration for Tensor Kernelscited by 1
12 most cited of 15 All 15 (JSON)
- 2026Silent Failures Beyond the 32-Bit Index Range: A Differential Characterization of Large-Tensor Matrix Multiplication in PyTorch's MPS Backend19 Sep 2026
- 2026Operator-Aware Mixed-Precision Tolerance Calibration for Tensor Kernels23 Jun 2026
- 2026Test-Input Generation for Tensor Programs: What Actually Finds Kernel Bugs23 Jun 2026
- 2026The Correctness Illusion in LLM-Generated GPU Kernels18 Jun 2026
- 2025HFuzzer: Testing Large Language Models for Package Hallucinations via Phrase-based Fuzzing28 Sep 2025
- 2025TTrace: Lightweight Error Checking and Diagnosis for Distributed Training10 Jun 2025
- 2025KNighter: Transforming Static Analysis with LLM-Synthesized Checkers12 Mar 2025
- 2024Enhancing Differential Testing With LLMs For Testing Deep Learning Libraries12 Jun 2024
- 2024Deep Learning Library Testing: Definition, Methods and Challenges27 Apr 2024
- 2024Productively Deploying Emerging Models on Emerging Platforms: A Top-Down Approach for Testing and Debugging14 Apr 2024
- 2023KernelGPT: Enhanced Kernel Fuzzing via Large Language Models31 Dec 2023
- 2023Zero Coordinate Shift: Whetted Automatic Differentiation for Physics-informed Operator Learning1 Nov 2023
12 newest of 15 All 15 (JSON)