TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing
Augustus Odena, Ian Goodfellow

TL;DR
TensorFuzz introduces coverage-guided fuzzing techniques to automatically test and debug neural networks by generating rare input cases, revealing errors and undesirable behaviors that are hard to detect manually.
Contribution
The paper presents novel coverage-guided fuzzing methods tailored for neural networks, including efficient coverage metrics and an open-source library for automated debugging.
Findings
Identified numerical errors in trained neural networks
Generated disagreements between neural networks and quantized models
Uncovered undesirable behaviors in language models
Abstract
Machine learning models are notoriously difficult to interpret and debug. This is particularly true of neural networks. In this work, we introduce automated software testing techniques for neural networks that are well-suited to discovering errors which occur only for rare inputs. Specifically, we develop coverage-guided fuzzing (CGF) methods for neural networks. In CGF, random mutations of inputs to a neural network are guided by a coverage metric toward the goal of satisfying user-specified constraints. We describe how fast approximate nearest neighbor algorithms can provide this coverage metric. We then discuss the application of CGF to the following goals: finding numerical errors in trained neural networks, generating disagreements between neural networks and quantized versions of those networks, and surfacing undesirable behavior in character level language models. Finally, we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdversarial Robustness in Machine Learning · Software Testing and Debugging Techniques · Machine Learning and Algorithms
