CRash Scope (CRScope) is a ML-guided crash classifier of a given JavaScript engine crash-dump file.
-
Install dependencies
sudo apt update sudo apt install python-pip python-dev sudo pip install pandas==0.23.0 sudo pip install scipy==1.0.0 sudo pip install scikit-learn==0.20.3 sudo pip install imbalanced-learn==0.3.3 sudo pip install matplotlib==2.1.0 sudo pip install python-docx==0.8.6 sudo pip install XlsxWriter==1.0.2 sudo pip install joblib==0.11 -
Clone
CRScopegit clone https://github.com/WSP-LAB/CRScope.git cd CRScope
-
Prepare the csv file that contains feature information of each crash instance.
- We provide sample csv files in
./datadirectory.
- We provide sample csv files in
-
Run CRScope
usage: CRScope.py [-h] [-e {chakra,v8,spider,chakra_v8,chakra_spider,v8_spider,all}] [-s {under,over}] [-o OPTION] [-c {crscope,exniffer,combi}] [-v VERSION] datafile-
-s,-o: Sampling method for balancing security and non-security data-s over: Oversampling-o 1: RandomOverSampler-o 2: ADASYN-o 3: SMOTE
-s under: Undersampling-o 1: RandomUnderSampler-o 2: TomekLinks-o 3: CondensedNearestNeighbour-o 4: OneSidedSelection-o 5: EditedNearestNeighbours-o 6: NeighbourhoodCleaningRule
- reference: https://imbalanced-learn.readthedocs.io/en/stable/user_guide.html
-
-c: The choice for using which type of featurecrscope: CRScopeexniffer: Exniffercombi: CRScope + Exniffer
-
-e,-v: For naming result directory and files-e: A directory with the selected engine name will be created-v: Result files with the version name will be created
-
For example,
$ ./CRScope.py -e chakra -s over -o 1 -c crscope -v chakra_crscope_v1 ./data/chakra.csv
-
-
The final reports will be saved in
resultdirectory.
More details can be found in the paper.