secure-software-engineering / DroidBench

A micro-benchmark suite to assess the stability of taint-analysis tools for Android
http://sseblog.ec-spride.de/tools/droidbench/
269 stars 114 forks source link

DroidBench 2.0

DroidBench is an open test suite for evaluating the effectiveness of taint-analysis tools specifically for Android apps. The suite can be used to assess both static and dynamic taint analyses, but in particular it contains test cases for interesting static-analysis problems (field sensitivity, object sensitivity, tradeoffs in access-path lengths etc.) as well as for Android-specific challenges like correctly modeling an application’s lifecycle, adequately handling asynchronous callbacks and interacting with the UI.

The distribution contains an eclipse workspace with all source-code projects as well as readily compiled APKs.

DroidBench was created by Christian Fritz, Steven Arzt and Siegfried Rasthofer of the EC SPRIDE Secure Software Engineering Group. Another Java-based benchmark-suite with the same aim as DroidBench is SecuriBench which focuses on Web-based applications written in Java.

We welcome your contributions!

You are most welcome to contribute additional test cases to DroidBench. To do so, please fork the project, commit an appropriate Eclipse source project and APK, update this README and then send us a pull request.

Version 2.0

Version 2.0 comprises the following 120 test cases:

Aliasing

Arrays and Lists

Callbacks

Field and Object Sensitivity

Inter-App Communication

Inter-Component Communication

Lifecycle

General Java

Miscellaneous Android-Specific

Implicit Flows

Reflection

Threading

Emulator Detection

Acknowledgements

We would like to thank, among others, the following organizations which contributed test cases to DroidBench: