StoryDroid : Automated Generation of Storyboard for Android Apps - - PowerPoint PPT Presentation

storydroid automated generation of storyboard for android
SMART_READER_LITE
LIVE PREVIEW

StoryDroid : Automated Generation of Storyboard for Android Apps - - PowerPoint PPT Presentation

StoryDroid : Automated Generation of Storyboard for Android Apps ICSE 2019 Montral, QC, Canada Sen Chen, Lingling Fan, Chunyang Chen, Ting Su, Wenhe Li, Yang Liu, Lihua Xu Mobile apps are continuously increasing One Single App Category


slide-1
SLIDE 1

StoryDroid: Automated Generation of Storyboard for Android Apps

Sen Chen, Lingling Fan, Chunyang Chen, Ting Su, Wenhe Li, Yang Liu, Lihua Xu

ICSE 2019 Montréal, QC, Canada

slide-2
SLIDE 2

2

Over 3.8 million Android apps are available at Google Play Store. One single app category usually contains many similar Android apps.

Mobile apps are continuously increasing

One Single App Category

slide-3
SLIDE 3

3

Searching apps from Google Play Store

Social Media Apps

Mobile apps are facing fierce competitions.

slide-4
SLIDE 4

4

Before developing a new mobile app

Development team usually endeavors painstaking efforts to review many existing apps (i.e., competitive analysis) with similar purposes.

slide-5
SLIDE 5

5

Similar purposes of competitive analysis

helps understand the competitors’ strengths and weaknesses helps developers gain more insights

  • n the actual implementation

reduces market risks before development

slide-6
SLIDE 6

6

Reviewing apps for competitive analysis

Eve: Product Manager Bob: App Developer Functionalities Login Main Alice: UX/UI Designer UI design and layout code Logic code Login Layout Code Login Activity Code

slide-7
SLIDE 7

However…

7

How to improve the reviewing efficiency? Manual exploration of hundreds of existing similar apps by different roles is ineffective. ✔ It is a time-consuming task. ✔ it is difficult to explore all the functionalities.

slide-8
SLIDE 8

Storyboard

8

Storyboard of movies Storyboard of apps

slide-9
SLIDE 9

9

Storyboard of Android Apps

*ATG: Activity Transition Graph

slide-10
SLIDE 10

Challenges

10

✔ ATGs* are usually incomplete due to the limitation of current static analysis tools (e.g., IC3 [1]) ✔ A pure static approach may miss parts of UIs that are dynamically rendered. ✔ The obfuscated activity names lack the semantics of the corresponding functionalities.

[1] Octeau et al., “Composite constant propagation: Application to Android intercomponent communication analysis,” in ICSE 2015.

slide-11
SLIDE 11

Our Solution - StoryDroid

11

1. ATG Extraction 2. UI Page Rendering 3. Semantic Name Inferring

slide-12
SLIDE 12

StoryDroid – Activity Transition Extraction

12

StoryDroid Enhances the ATG extraction ability of IC3, especially for fragments and inner classes. StoryDroid leverages control- and data-flow analysis to obtain relatively complete ATG.

Transition Extraction ATG

slide-13
SLIDE 13

Activity Transition Extraction

13

Transition Extraction ATG

Main -> Reg Main -> PrefEditor -> AdvancedPrefEditor SearchPanel -> PartList

slide-14
SLIDE 14

StoryDroid – UI Page Rendering

14

StoryDroid translates dynamic and hybrid layouts to static layout (if needed) to render UI pages that users interact with.

Layout Type Checking Layout Type Translating UI Page Rendering

slide-15
SLIDE 15

UI Page Rendering

15

Burger Test

Layout Type Translation Adapter data rendering

Layout Type Checking Layout Type Translating UI Page Rendering ListView Layouts

slide-16
SLIDE 16

StoryDroid – Semantic Name Inferring

16

StoryDroid infers the semantic name for the obfuscated activity names by layout comparison.

Semantic Name Inferring ATG

b a Main LoginActivity RegActivity

slide-17
SLIDE 17

17

Semantic Name Inferring ATG

StoryDroid – Semantic Name Inferring

Layout Tree DB: 4,426 F-Droid apps 13,792 layout trees

Layout Tree:

Top 10 candidates

slide-18
SLIDE 18

18

Automated Generation of Storyboard

slide-19
SLIDE 19

Effectiveness Evaluation - Research Questions

  • RQ1: Can StoryDroid extract a more complete ATG for an app,

and achieve better activity coverage than the dynamic testing tool (i.e., Stoat)?

  • RQ2: Can StoryDroid render UI pages with high similarity

compared with the real screenshots?

  • RQ3: Can StoryDroid infer semantic names for obfuscated

activities?

19

slide-20
SLIDE 20

Effectiveness Evaluation - RQ1

20

Can StoryDroid extract a more complete ATG for an app, and achieve better activity coverage than the dynamic testing tool (i.e.,

Stoat)?

slide-21
SLIDE 21

Effectiveness Evaluation - RQ1

21

  • Self-developed 10 apps
  • Capability of handling fragments and inner classes
slide-22
SLIDE 22

Effectiveness Evaluation - RQ1

22

StoryDroid outperforms IC3 on ATG extraction and covers 2 times more activities than Stoat with less time.

  • 100 apps (i.e., 50 F-Droid and 50 Google Play)
  • Transitions pairs and activity coverage

87% 74%

slide-23
SLIDE 23

Effectiveness Evaluation - RQ2

23

Can StoryDroid render UI pages with high similarity compared with the real screenshots?

slide-24
SLIDE 24

Effectiveness Evaluation - RQ2

24

StoryDroid can render UI pages with high similarity (84%) to the real ones in our experiments.

  • Similarity compared with the real screenshots
  • Metrics: MSE (Mean Squared Error) & MAE (Mean Absolute Error)
slide-25
SLIDE 25

Effectiveness Evaluation - RQ3

25

Can StoryDroid infer semantic names for obfuscated activities?

slide-26
SLIDE 26

Effectiveness Evaluation - RQ3

26

StoryDroid can infer semantic names with high accuracy for obfuscated activity names.

  • 92 out of 100 activity names
slide-27
SLIDE 27

Usefulness Evaluation

27

Whether StoryDroid can help explore and understand the functionalities of apps effectively?

slide-28
SLIDE 28

Usefulness Evaluation – User Study

28

1. 4 apps with different number of activities (12-15 activities) from 2 categories (i.e., finance and tool), each category contains 2 apps 2. 8 participants including post-docs, Ph.D., and masters 3. For each category, each participant explored one app with StoryDroid, and the other without StoryDroid.

Compared with manual exploration, StoryDroid achieves 2 times more activity coverage with less time cost to help understand the app functionalities.

slide-29
SLIDE 29

Future applications based on StoryDroid

29

✔ Recommendation of UI design and code ✔ Guiding regression testing of apps ✔ Extracting commonalities across apps

slide-30
SLIDE 30

30

Summary

slide-31
SLIDE 31

31

Sen Chen Nanyang Technological University Contact: ecnuchensen@gmail.com Homepage: https://sen-chen.github.io/

Thanks and Questions?

NTU, Singapore Cyber Security Lab