StoryDroid

Automated Generation of Storyboard for Android Apps

StoryDroid takes an APK as input and outputs the visualization storyboard for the app, it contains 3 phases:

(1) Transition Extraction, which enhances the ATG extraction ability of IC3, especially for fragments and inner classes. StoryDroid leverages control- and data-flow analysis to obtain relatively complete activity transition graph.

(2) UI Page Rendering, which translates dynamic and hybrid layout to static layout (if needed) to render UI pages that users interact with.

(3) Semantic Name Inferring, which infers the semantic name for the obfuscated activity names by layout comparison.

Overview Of StoryDroid

1. To investigate the capability of handling fragments and inner classes, we self-developed 10 Android apps as our ground-truth benchmark. The 10 apps can be downloaded by the following link.

https://drive.google.com/open?id=1chctTbN5qvoF02cCvcatEzxhM4O60I83

2. We compare the number of transition pairs identified by IC3 and StoryDroid. We also evulate the activity coverage of StoryDroid and the state-of-the-art dynamic testing tool, Stoat. We list the partial results below.

3. The renderred UI page examples are as follows.