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.

Prerequisites

Install

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.

Structure

Questions

If you have any question, please contact the authors of the paper.