Table of Content
Artifact package for the CAT paper
We provide two ways to run the experiment: pre-configured environment in a VirtualBox image and guidance on running the experiment on your local environment.
Option 1. Running in the virtual machine (recommended)
Virtual VM download links:
The provided image can be run on VirtualBox 6.1.6 onwards as this version starts supporting nested virtualisation for running Android Emulator on both Intel and AMD CPUs.
Prerequisites
- VirtualBox 6.1.6 onwards. Download from https://www.virtualbox.org/
- Ensure your CPU supports nested virtualisation.
- Download the ova file from this repository.
Running CAT
I) VirtualBox Image Setup
- Install and open VirtualBox.
- Click Tools and then Import the downloaded ova file.
- Start the imported virtual machine and input the user credentials: username=cat and password=catdroid
II) Run Experiments
- Open Terminal from the side bar.
- Start the emulator by typing the following command:
emulator -avd Nexus_5_API_22
- Open another Terminal and go to the CAT folder:
cd CAT/dataset
ls
- Select one of the interested subject app folder and go into the folder
- Run the following command to test the app with CAT:
catdroid -a API_FILE_NAME -script script.json -o OUTPUT_FOLDER
Interpreting the result
- Target states: during the execution, once the target state is entered, a message showing target state with index is shown.
- Target events: All event sequences are stored in the OUTPUT_FOLDER/events. File names ending with _KEY_EVENT.json are those target events.
Option 2. Running on your local environment
Prerequisites
- Java 8 SDK
- Android SDK. These components needs to be installed in the SDK manager: An Android SDK Platform, Android SDK Command-line Tools, Android Emulator, Android SDK Platform-Tools and HAXM Accelerator.
- Python3 with Pip3
Installing CAT
Clone this repo, enter the cat-droidbot folder and run
pip3 install -e .
Running CAT and interpreting the result
This is same as Option 1. Running CAT and Interpret the Result