# deepTest **Repository Path**: alex_wonga/deepTest ## Basic Information - **Project Name**: deepTest - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-26 - **Last Updated**: 2022-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DeepTest: Automated testing of deep-neural-network-driven autonomous cars DeepTest is a systematic testing tool for automatically detecting erroneous behaviors of DNN-driven vehicles that can potentially lead to fatal crashes. ## Install Required Packages OS: Ubuntu 16.04 Read through and run [./install.sh](./install.sh) ## Code Directories [models/](models/) * Reproducing Udacity self-driving car Challenge2[1] results for Rambo, Chauffeur and Epoch models. * [Models and weights files](https://github.com/ARiSE-Lab/deepTest#models-and-saved-weights) are required to run these scripts. * For Rambo model, Keras backend should be changed to theano. [testgen/](testgen/) * Generate synthetic images, calculate cumulative coverage and record predicted outputs. * [ncoverage.py](testgen/ncoverage.py): define NCoverage class for computing neuron coverage. [guided/](guided/) * Combine different transformations and leverage neuron coverage to guide the search. * Re-runing the script will continue the search instead of starting from the beginning except deleting all pkl files. [metamorphictesting/](metamorphictesting/) ## Models and [Saved Weights](https://github.com/udacity/self-driving-car/tree/master/steering-models/evaluation) * Rambo [2] * Chauffeur [3] * Epoch [4] ## Datasets * [HMB_3.bag](https://github.com/udacity/self-driving-car/blob/master/datasets/CH2/HMB_3.bag.tar.gz.torrent): Test dataset * [CH2_001](https://github.com/udacity/self-driving-car/tree/master/datasets/CH2): Final Test Data for challenge2 * [CH2_001 labels](https://github.com/udacity/self-driving-car/blob/master/challenges/challenge-2/CH2_final_evaluation.csv) ### Generate hmb3 dataset from HMB_3.bag ``` mkdir hmb3 python generate_hmb3.py --bagfile HMB_3.bag ``` The following commands are to install python-rosbag api. ``` sudo apt-get install python-rosbag sudo apt-get install python-genmsg sudo apt-get install python-genpy sudo apt-get install python-rosgraph-msgs ``` ## Reproducing experiments ### Dataset directory structure: ./Dataset/ ├── hmb3/         └── hmb3_steering.csv         └── images └── Ch2_001/         └── center/                  └── images         └── CH2_final_evaluation.csv ### Evaluating models' accuracy on existing test data ``` cd models/ python epoch_reproduce.py --dataset DATA_PATH/Dataset/ python chauffeur_reproduce.py --dataset DATA_PATH/Dataset/ python rambo_reproduce.py --dataset DATA_PATH/Dataset/ ``` ### Generate synthetic images and compute cumulative neuron coverage ``` cd testgen/ ./epoch_testgen_driver.sh 'DATA_PATH/Dataset/' ./chauffeur_testgen_driver.sh 'DATA_PATH/Dataset/' python rambo_testgen_coverage.py --dataset DATA_PATH/Dataset/ ``` ### Combine transformations and synthesize images by guided search ``` cd guided/ mkdir new/ rm -rf *.pkl python epoch_guided.py --dataset DATA_PATH/Dataset/ python chauffeur_guided.py --dataset DATA_PATH/Dataset/ python rambo_guided.py --dataset DATA_PATH/Dataset/ ``` ## Detected erroneous behaviors https://deeplearningtest.github.io/deepTest/ ## Citation If you find DeepTest useful for your research, please cite the following [paper](https://arxiv.org/pdf/1708.08559.pdf): ``` @article{tian2017deeptest, title={DeepTest: Automated testing of deep-neural-network-driven autonomous cars}, author={Tian, Yuchi and Pei, Kexin and Jana, Suman and Ray, Baishakhi}, journal={arXiv preprint arXiv:1708.08559}, year={2017} } ``` ## References 1. **Udacity self driving car challenge 2**.
https://github.com/udacity/self-driving-car/tree/master/challenges/challenge-2. (2016). 2. **Rambo model**.
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models/rambo. (2016). 3. **Chauffeur model**.
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models/chauffeur. (2016). 4. **Epoch model**.
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models/cg23. (2016).