DidFail (Droid Intent Data Flow Analysis for Information Leakage) uses static analysis to detect potential leaks of sensitive information within a set of Android apps. DidFail combines and augments FlowDroid (which identifies intra-component information flows) and Epicc (which identifies properties of intents such as its action string) to track both inter-component and intra-component data flow in a set of Android applications. DidFail's two-phase analysis allows for fast user-response time by using precomputed phase-1 analysis results.

The two phases of DidFail are

  1. Given a set of applications, we first determine the data flows enabled individually by each application, and the conditions under which these are possible.
  2. We then build on these results to enumerate the potentially dangerous data flows enabled by the set of applications as a whole.

The source code of DidFail and a binary distribution of DidFail and its dependencies are available for download. Our paper, Android Taint Flow Analysis for App Sets, in the SOAP 2014 workshop describes our analysis method, implementation, and experimental results. The analysis method is described in extended detail in Amar Bhosale's Master's thesis, Precise Static Analysis of Taint Flow for Android Application Sets.