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_PATHFirst, create virtual environment using Anaconda so that the installation doesnot conflict with system wide installs.
$ conda create -n <envname> python=3.6Clone the project and install the dependencies
$ git clone https://github.com/50417/DeepFuzzSL.git
$ cd DeepFuzzSLActivate environment and Install the dependencies (Change tensorflow tp tensorflow-gpu to use GPU for training).
$ conda activate <envname>
$ pip install -r requirements.txtCompile protocol buffer files
$ chmod +x tools/protoc.sh
$ ./tools/proctoc.shTest 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