Format-aware learn&fuzz: deep test data generation for efficient fuzzing
Software Engineering (cs.SE)
FOS: Computer and information sciences
Computer Science - Software Engineering
0202 electrical engineering, electronic engineering, information engineering
02 engineering and technology
DOI:
10.1007/s00521-020-05039-7
Publication Date:
2020-06-13T20:02:32Z
AUTHORS (3)
ABSTRACT
Appropriate test data is a crucial factor to reach success in dynamic software testing, e.g., fuzzing. Most of the real-world applications, however, accept complex structure inputs containing data surrounded by meta-data which is processed in several stages comprising of the parsing and rendering (execution). It makes the automatically generating efficient test data, to be non-trivial and laborious activity. The success of deep learning to cope in solving complex tasks especially in generative tasks has motivated us to exploit it in the context of complex test data generation. To do so, a neural language model (NLM) based on deep recurrent neural networks (RNNs) is used to learn the structure of complex input. Our approach generates new test data while distinguishes between data and meta-data that makes it possible to target both the parsing and rendering parts of software under test (SUT). Such test data can improve, input fuzzing. To assess the proposed approach, we developed a modular file format fuzzer, IUST-DeepFuzz. Our conducted experiments on the MuPDF, a lightweight and favorite portable document format (PDF) reader, reveal that IUST-DeepFuzz reaches high coverage of SUT in comparison with the state-of-the-art tools such as learn&fuzz, AFL, Augmented-AFL and random fuzzing. We also observed that the simpler deep learning models, the higher code coverage.<br/>43 pages, 11 figures, 7 tables, and 2 algorithms. Updated title and abstract<br/>
SUPPLEMENTAL MATERIAL
Coming soon ....
REFERENCES (40)
CITATIONS (11)
EXTERNAL LINKS
PlumX Metrics
RECOMMENDATIONS
FAIR ASSESSMENT
Coming soon ....
JUPYTER LAB
Coming soon ....