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.
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.
- VirtualBox 6.1.6 onwards. Download from https://www.virtualbox.org/
- Ensure your CPU supports nested virtualisation.
- Download the ova file from this repository.
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
- 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.
- 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
Clone this repo, enter the cat-droidbot folder and run
pip3 install -e .
This is same as Option 1. Running CAT and Interpret the Result