Before developing a new mobile app, the development team usually endeavors painstaking efforts to review many existing apps with similar purposes. The review process is crucial in the sense that it reduces market risks and provides inspirations for app development. However, manual exploration of hundreds of existing apps by different roles (e.g., product manager, UI/UX designer, developer, and tester) can be ineffective. Following the conception of storyboard in movie production, we propose a system, named StoryDistiller, to automatically generate the storyboards for Android apps with rich features through reverse engineering, and assist different roles to review and analyze apps effectively and efficiently. Specifically, we (1) propose a hybrid method to extract a relatively complete Activity transition graph (ATG), that is, it first extracts the ATG of Android apps through static analysis method first, and further leverages dynamic component exploration to augment ATG; (2) extract the required inter-component communication (ICC) data of each target Activity by leveraging static data-flow analysis and renders UI pages dynamically by using app instrumentation together with the extracted required ICC data; (3) obtain rich features including comprehensive ATG with rendered UI pages, semantic activity names, corresponding logic and layout code, etc. (4) implement the storyboard visualization as a web service with the rendered UI pages and the corresponding rich features. Our experiments unveil that StoryDistiller is effective and indeed useful to assist app exploration and review. We also conduct a comprehensive comparison study to demonstrate better performance over IC3, Gator, Stoat, and StoryDroid.
翻译:在开发新的移动应用程序之前,开发团队通常会作出艰苦努力,审查许多具有类似目的的现有应用程序。审查过程至关重要,因为它降低了市场风险,为开发应用程序提供了灵感。然而,通过不同角色(例如产品经理、UI/UX设计师、开发商和测试商)手工探索数百个现有应用程序可能无效。在电影制作中设计了故事板概念之后,我们提议了一个名为Story Distler的系统,通过反向工程,自动生成具有丰富功能的Adroid应用程序的故事板,并协助不同角色对应用程序进行高效率和高效率的审查和分析。具体地说,我们(1)提出一种混合方法来提取相对完整的活动过渡图(ATG),也就是说,它首先通过静态分析方法提取ATG的自动应用软件,开发者和测试者,进一步利用动态数据板的静态数据流分析来提取每个目标活动所需的构成部分间通信数据,并通过利用所选的仪器和所选取的数据来动态地生成UIE页面。我们(1) 获得一个内容丰富的功能性能,包括全面的ATOG 和Simal Exal Exlial Exal Ex ex ex ex ex ex ex ex ex ex ex exupol ex ex ex ex ex ex ex ex ex exing lautal lautal lautal ex lautal ex ex ex ex ex ex lautal ex ex ex lautus ex lautal lautal ex ex lautus lautus lautal ex ex ex ex lautus ex ex ex ex lautus lautal lautus lautal lautus lautus ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex exbilal ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex.我们 ex lautuseral ex ex ex ex ex ex.