TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing
By Augustus Odena, Ian J. Goodfellow. International Conference on Machine Learning, 2018
368 citations recorded by the source corpus.
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 release an open source library called TensorFuzz that implements the described techniques.
Subfields: Artificial Intelligence, Software
View Paper: https://www.semanticscholar.org/paper/0735bc67a2149d5c6f38a2e97b2ef8678666d577
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
In Software
Citations in the corpus
- Bayes-Probe: Distribution-Guided Sampling for Prediction Level Sets (2020, background): “Odena et al. (2019) introduced TensorFuzz, a testing suite which focuses on discovering errors on rare inputs.”
- Provable repair of deep neural networks (2021, positive): “More recent research tackles testing of DNNs [23, 42, 43, 45, 47, 54, 56, 58].”
- Machine Learning Testing: Survey, Landscapes and Horizons (2019, methodology): “A number of software testing techniques has been applied to ML testing, such as different testing coverage criteria [76], [92], [145], mutation testing [152], combinatorial testing [149], metamorphic testing [100], and fuzz testing [89].”
- A survey of safety and trustworthiness of deep neural networks: Verification, testing, adversarial attack and defence, and interpretability (2018, methodology): “TensorFuzz [Odena and Goodfellow, 2018] is a coverage-guided fuzzing method for DNNs.”
- DeepHunter: a coverage-guided fuzz testing framework for deep neural networks (2019, methodology): “The current techniques [35, 44] follow the similar idea to prioritize selection of the new generated tests.”