DeepFuzzSL is research project aimed at generating valid Simulink models such that it could be used to test Simulink tool chains and compiler
DeepFuzzSL uses open source projects to work properly. Currently the project is an extension of Clgen.
DeepFuzzSL is tested on Ubuntu 18.04 and CentOS 7. The project can be built on Windows as well after adaptation of this script to compile protocol buffer files. The project can be built on TACC. Make sure to include <PATH_TO_libcudnn> in LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH=<PATH_TO_libcudnn>:$LD_LIBRARY_PATH
First, create virtual environment using Anaconda so that the installation doesnot conflict with system wide installs.
$ conda create -n <envname> python=3.6
Clone the project and install the dependencies
$ git clone https://github.com/50417/DeepFuzzSL.git
$ cd DeepFuzzSL
Activate environment and Install the dependencies (Change tensorflow tp tensorflow-gpu to use GPU for training).
$ conda activate <envname>
$ pip install -r requirements.txt
Compile protocol buffer files
$ chmod +x tools/protoc.sh
$ ./tools/proctoc.sh
Test your installation
$ python clgen.py --config <PATH_TO_CONFIGURATION_FILE>
ModelsFindingBugs.zip contains the models generated by DeepFuzzSL that triggered bugs in Simulink reported in the paper.
Create a corpus of the programs(training data) and compress it and also define the configuration files. Here is an ExampleConfigFile
Want to contribute? Great! DeepFuzzSL uses python + Tensorflow + keras for fast developing.
- Write MORE Tests
- Add MORE Preprocessors for mdl files