Font Size: a A A

The Design And Implementation Of Neural Network Fuzz Testing System Based On Multivariate Test Cases

Posted on:2021-03-06Degree:MasterType:Thesis
Country:ChinaCandidate:J X ChenFull Text:PDF
GTID:2428330647950832Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As a research hot spot in the field of artificial intelligence,neural networks have been widely used in recent years.Most rules of neural networks are learned from training data.Due to training data deviations,model overfitting or underfitting and other reasons,neural networks will behave incorrectly under certain conditions.Also,traditional test methods cannot be used directly to test neural networks.Fuzz testing is a compulsory security vulnerability discovery technology.It takes a large amount of test data as program input to discover the unexpected behavior of the target program due to these inputs.Applying fuzzing technology to test neural networks can quickly discover potential security vulnerabilities in the system and effectively improve the security and reliability of the system.This paper designs and implements a neural network fuzz testing system based on multivariate test cases.Through different test data generation methods,a large number of valid test cases are generated in a short time to discover potential defects in the neural network.This system uses B / S architecture,the front end is built based on the Bootstrap framework,the server program is implemented based on the Django framework,the server is built based on Gunicorn,load balancing is implemented through Nginx reverse proxy,and the My SQL database is used to store persistent data.This system contains six modules:(1)The neural network access module provides a unified interface for accessing the neural network under test constructed by different frameworks.(2)The multivariate test case generation module provides generation methods based on mutation and on generation to generate test cases to meet different requirements of testers.(3)The test case mutation module provides mutation algorithms based on image characteristics and on byte to modify the original test cases to generate mutated test cases.(4)The test case execution module is used to put test cases into the neural network to be tested for execution,monitor the status of the target and save the running results and exception information.(5)The coverage calculation and determination module is used to receive data after execution,extract coverage information,calculate coverage and determine whether it is a new coverage.(6)The test task execution module is used to build specific fuzzers,perform automated tests and display test results.This paper selects common neural networks such as Alex Net,Google Net,and Caffe Net built by the Tensor Flow and Caffe frameworks for preliminary experimental evaluation of the usability of the neural network fuzz testing system based on multivariate test cases.The experimental results show that the system can quickly discover internal defects such as numerical errors,classification errors,and random data causing system crashes in neural networks.
Keywords/Search Tags:Neural Network Testing, Fuzz Testing, Mutation Testing, Test Case Generation
PDF Full Text Request
Related items