Aladdin: Automating Release of Deep-Link APIs on Android
- Yun Ma ,
- Ziniu Hu ,
- Yunxin Liu ,
- Tao Xie ,
- Xuanzhe Liu
WWW 2018 |
Published by ACM – Association for Computing Machinery
Compared to theWeb where each web page has a global URL for external
access, a specific “page” inside a mobile app cannot be easily
accessed unless the user performs several steps from the landing
page of this app. Recently, the concept of “deep link” is expected to
be a promising solution and has been advocated by major service
providers to enable targeting and opening a specific page of an app
externally with an accessible uniform resource identifier. In this
paper, we present a large-scale empirical study to investigate how
deep links are really adopted, over 25,000 Android apps. To our
surprise, we find that deep links have quite low coverage, e.g., more
than 70% and 90% of the apps do not have deep links on app stores
Wandoujia and Google Play, respectively. One underlying reason is
the mandatory and non-trivial manual efforts of app developers to
provide APIs for deep links.We then propose the Aladdin approach
along with its supporting tool to help developers practically automate
the release of deep-link APIs to access locations inside their
apps. Aladdin includes a novel cooperative framework by synthesizing
the static analysis and the dynamic analysis while minimally
engaging developers’ inputs and configurations, without requiring
any coding efforts or additional deployment efforts. We evaluate
Aladdin with 579 popular apps and demonstrate its effectiveness
and performance.