Sentinel is a tool for sensor testing to detect leaks in Android apps described in the paper “Sentinel: Generating GUI Tests for Android Sensor Leaks” by Haowei Wu, Yan Wang, and Atanas Rountev, which appeared at the IEEE/ACM International Workshop on Automation of Software Test (AST'18) [PDF] [BibTeX]. Additional details are available in Haowei Wu's Ph.D. dissertation [PDF] [BibTeX].
Update: We have generalized Sentinel to handle leaks in Android Wear watch faces. Using the approach in the FSE'18 paper "Detection of Energy Inefficiencies in Android Wear Watch Faces" (link) as a starting point, the release now contains a new implementation of that approach using the formalisms and techniques as the orignial Sentinel work. You can find the source code here. The experimental subjects are stored elsewhere. Please follow the instructions here to run the analysis.
- Python 3
- Python UIAutomator
- Java JDK 8+
- Apktool
- Ant
- Android SDK
- POSIX environment such as Linux/OS X/Bash for Windows
- An Android device or emulator
To download the Sentinel tool:
git clone https://github.com/presto-osu/Sentinel.git
cd Sentinel
curl -O https://github.com/presto-osu/Sentinel/releases/download/1.1/Apps.tar.gz
tar -xf Apps.tar.gz
To install uiautomator for Python 3:
pip3 install uiautomator
To build the tool:
cd SootAndroid
ant
cd ..
Please note Apktool version 2.3.3 is already included under SootAndroid/apktool.jar
for your convenience, if you encounter any compatibility issues, please upgrade Apktool from the its project website.
After building this tool, please follow the instruction here to use this tool.
Apps
includes the open-source apps we used in the evaluation of Sentinel in papers;exportActivities.py
is the preprocessing script for application apk files;INSTALL.md
includes the instructions to run Sentinel;LICENSE
includes the copyright information;README.md
is this file;runSentinel.py
is the starter script of Sentinel;SootAndroid
includes the implementation of Sentinel tool.
If you have any question, please contact the authors of the paper.