DeepAtash is a tool for generating focused test inputs for deep learning systems.
To set up the environment and run the DeepAtash tool adapted to the handwritten digit classification case study, follow the instructions here.
To set up the environment and run the DeepAtash tool adapted to the movie sentiment case study, follow the instructions here.
To regenerate the results and plots reported in the ISSTA paper, follow the instructions here
This section contains plausible scenarios on how DeepAtash could be extended beyond the experiments performed in the paper.
This scenario shows the posiibility of generating tests for DeepAtash-IMDB different from the ones considered in the experimental evaluation. As an example, you can configure DeepAtash-IMDB to use the alternative target cell. To do this, you need to place the coordinates of the cekk in IMDB/config.py as follows:
GOAL = (4, 11)
Note: you should be carefull to select a GOAL in the map boundaries, the number of cells for each feature of the map is detemined as follows:
NUM_CELLS = 25
As an example, if you have 25 as number of cells then your target cell coordinates should be in the range of [0, 24].
This scenario shows the possibility of using trained models for DeepAtash-MNIST different from the one considered in the experimental evaluation.
As an example, you can configure DeepAtash-MNIST to use the alternative model cnnClassifier.h5
which is already in models folder.
To do this, you need to place the name of the new model in MNIST/config.py as follows:
MODEL = 'models/cnnClassifier.h5'
Moreover you can test your own model. You can train a new model by running the following command:
python MNIST/train_model.py <YOUR_MODEL_NAME>
After the new model has been trained, you can place it in MNIST/models folder, then edit the configuration in MNIST/config.py file as follows:
MODEL = 'models/<YOUR_MODEL_NAME>.h5'