Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

JDriver: Automatic Driver Class Generation for AFL-Based Java Fuzzing Tools release_o7upj5o4ujho5cxylio326xnxq

by Zhijian Huang, Yongjun Wang

Published in Symmetry by MDPI AG.

2018   Volume 10, Issue 10, p460

Abstract

AFL (American Fuzzy Lop) is a powerful fuzzing tool that has discovered hundreds of real-world vulnerabilities. Recent efforts are seen to port AFL to a fuzzing Java program and have shown to be effective in Java testing. However, these tools require humans to write driver classes, which is not plausible for testing large-scale software. In addition, AFL generates files as input, making it limited for testing methods that process files. In this paper, we present JDriver, an automatic driver class generation framework for AFL-based fuzzing tools, which can build driver code for methods' processing files as well as ordinary methods not processing files. Our approach consists of three parts: a dependency-analysis based method to generate method sequences that are able to change the instance's status so as to exercise more paths, a knowledge assisted method to make instance for the method sequences, and an input-file oriented driver class assembling method to handle the method parameters for ordinary methods. We evaluate JDriver on commons-imaging, a widely used image library provided by the Apache organization. JDriver has successfully generated 149 helper methods which can be used to make instances for 110 classes. Moreover, 99 driver classes are built to cover 422 methods.
In application/xml+jats format

Archived Files and Locations

application/pdf  291.9 kB
file_724phqv7fba5ze6w24u5wwv5vm
pdfs.semanticscholar.org (aggregator)
web.archive.org (webarchive)
Read Archived PDF
Preserved and Accessible
Type  article-journal
Stage   published
Date   2018-10-03
Language   en ?
Container Metadata
Open Access Publication
In DOAJ
In ISSN ROAD
In Keepers Registry
ISSN-L:  2073-8994
Work Entity
access all versions, variants, and formats of this works (eg, pre-prints)
Catalog Record
Revision: 8772e80b-1e19-4c3f-80f7-f01a57a3e3a7
API URL: JSON