Recurrent Neural Networks for Fuzz Testing Web Browsers

12/12/2018
by   Martin Sablotny, et al.
0

Generation-based fuzzing is a software testing approach which is able to discover different types of bugs and vulnerabilities in software. It is, however, known to be very time consuming to design and fine tune classical fuzzers to achieve acceptable coverage, even for small-scale software systems. To address this issue, we investigate a machine learning-based approach to fuzz testing in which we outline a family of test-case generators based on Recurrent Neural Networks (RNNs) and train those on readily available datasets with a minimum of human fine tuning. The proposed generators do, in contrast to previous work, not rely on heuristic sampling strategies but principled sampling from the predictive distributions. We provide a detailed analysis to demonstrate the characteristics and efficacy of the proposed generators in a challenging web browser testing scenario. The empirical results show that the RNN-based generators are able to provide better coverage than a mutation based method and are able to discover paths not discovered by a classical fuzzer. Our results supplement findings in other domains suggesting that generation based fuzzing with RNNs is a viable route to better software quality conditioned on the use of a suitable model selection/analysis procedure.

READ FULL TEXT
research
06/20/2019

testRNN: Coverage-guided Testing on Recurrent Neural Networks

Recurrent neural networks (RNNs) have been widely applied to various seq...
research
08/07/2017

What is the Role of Recurrent Neural Networks (RNNs) in an Image Caption Generator?

In neural image captioning systems, a recurrent neural network (RNN) is ...
research
11/11/2019

RNN-Test: Adversarial Testing Framework for Recurrent Neural Network Systems

While huge efforts have been investigated in the adversarial testing of ...
research
01/09/2019

A Deep Learning based Approach to Automated Android App Testing

Automated input generators are widely used for large-scale dynamic analy...
research
03/03/2016

Multi-domain Neural Network Language Generation for Spoken Dialogue Systems

Moving from limited-domain natural language generation (NLG) to open dom...
research
04/06/2023

Covering All the Bases: Type-Based Verification of Test Input Generators

Test input generators are an important part of property-based testing (P...
research
08/03/2021

Tutorials on Testing Neural Networks

Deep learning achieves remarkable performance on pattern recognition, bu...

Please sign up or login with your details

Forgot password? Click here to reset