- Neuron Coverage (NC),
- Boundary Coverage (BC),
- Step=wise Coverage (SC),
- Temporal Coverage (TC)
- Sentiment Analysis,
- MNIST Handwritten Digits,
- Lipophilicity Prediction (Physical Chemistry)
- UCF101 (need to download and put into the dataset file)
-
rdkit (https://www.rdkit.org/docs/Install.html), by running the following commands:
conda create -c rdkit -n my-rdkit-env rdkit conda activate my-rdkit-env
Note: with the above commands, we create a new virtual environment dedicated for rdkit. Below, every time one needs to run the program, he/she needs to activate the my-rdkit-env
-
Other packages including
conda install -c menpo opencv keras nltk matplotlib pip install saxpy sklearn
We have two commands to run testing procedure and to run result analysis procedure, respectively.
python main.py --model <modelName>
--TestCaseNum <Num. of Test Cases>
--threshold_SC <SC threshold>
--threshold_BC <BC threshold>
--symbols_TC <Num. of symbols>
--seq <seq in cells to test>
--mode <modeName>
--output <output file path>
where
- <modelName> can be in {sentiment, mnist, lipo, ucf101}
- <Num. of Test Cases> is expected number of test cases
- <Mutation Method> can be in {'random', 'genetic'}
- <SC threshold> can be in [0, 1]
- <BC threshold> can be in [0, 1]
- <Num. of symbols> can be in {1, 2, 3...}
- <seq in cells to test> can be in {mnist: [4, 24], sentiment: [400, 499], lipo: [60, 70], ucf101: [0, 10]}
- <modeName> can be in {train, test} with default value test
- <output file path> specifies the path to the output file
For example, we can run the following
python main.py --model mnist --TestCaseNum 10000 --threshold_SC 0.6 --threshold_BC 0.8 --symbols_TC 3 --seq [4,24] --output log_folder/record.txt
which says that, we are working with MNIST model, and the test case generation will terminate when the number of test cases is over 10000. We need to specify other parameters including threshold_SC, threshold_BC, symbols_TC, seq. Moreover, the log is generated to the file log_folder/record.txt.