Skip to main content
QUICK REVIEW

[论文解读] StoryDroid: Automated Generation of Storyboard for Android Apps

Sen Chen, Lingling Fan|arXiv (Cornell University)|Feb 1, 2019
Advanced Malware Detection Techniques参考文献 38被引用 7
一句话总结

StoryDroid 是一个系统,通过提取活动转换图、从静态和动态布局代码中渲染用户界面页面,并为混淆的活动推断语义名称,自动生成 Android 应用的视觉故事板。它通过将用户界面屏幕与其对应的实现代码关联起来,使产品经理、设计师和开发人员能够高效地进行竞争分析,显著提升应用探索和灵感收集的效率。

ABSTRACT

Mobile apps are now ubiquitous. Before developing a new 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 inspiration for app development. However, manual exploration of hundreds of existing apps by different roles (e.g., product manager, UI/UX designer, developer) in a development team can be ineffective. For example, it is difficult to completely explore all the functionalities of the app in a short period of time. Inspired by the conception of storyboard in movie production, we propose a system, StoryDroid, to automatically generate the storyboard for Android apps, and assist different roles to review apps efficiently. Specifically, StoryDroid extracts the activity transition graph and leverages static analysis techniques to render UI pages to visualize the storyboard with the rendered pages. The mapping relations between UI pages and the corresponding implementation code (e.g., layout code, activity code, and method hierarchy) are also provided to users. Our comprehensive experiments unveil that StoryDroid is effective and indeed useful to assist app development. The outputs of StoryDroid enable several potential applications, such as the recommendation of UI design and layout code.

研究动机与目标

  • 解决在竞争分析过程中手动探索数百个相似 Android 应用的低效问题。
  • 克服反向工程复杂应用时面临的挑战,包括不完整的活动转换图和混淆的活动名称。
  • 为不同利益相关者提供应用行为、用户界面布局和实现代码的统一可视化。
  • 支持更快、更系统地理解现有应用,以获取功能灵感和实现指导。
  • 通过大规模故事板数据库支持用户界面设计和代码重用的推荐系统开发。

提出的方法

  • 使用静态分析从 APK 中提取活动转换图(ATG),包括片段和内部类中的转换,以提高完整性。
  • 通过结合静态布局文件与动态生成的组件来渲染用户界面页面,实现每个屏幕的可视化表示。
  • 通过将布局层次结构与 4,426 个开源应用的数据库进行比较,为混淆的活动名称推断出有意义的语义名称。
  • 将每个渲染的用户界面页面映射到其对应的实现代码,包括布局文件、活动代码和方法调用层次结构。
  • 采用静态-动态混合分析方法,确保覆盖静态和运行时渲染的用户界面元素。
  • 构建一个综合的应用理解框架,将应用行为(ATG)、视觉用户界面和源代码链接起来,支持跨角色分析。

实验结果

研究问题

  • RQ1系统能否从反向工程的 APK 中自动生成完整且具有语义意义的 Android 应用故事板?
  • RQ2静态分析在存在动态用户界面渲染的情况下,能否有效提取活动转换和用户界面组件?
  • RQ3通过将布局层次结构与大型开源数据库进行比较,能在多大程度上为混淆的活动名称推断出语义名称?
  • RQ4生成的故事板在支持产品经理、用户界面/用户体验设计师和开发人员的竞争分析方面有多实用?
  • RQ5大规模故事板数据库在推荐用户界面设计和实现代码方面有哪些实际应用?

主要发现

  • StoryDroid 即使在涉及片段和内部类的复杂应用中,也能成功提取并可视化高完整度的活动转换图。
  • 通过结合静态布局文件与动态提取的组件,系统实现了有效的用户界面渲染,确保了每个屏幕的准确视觉表示。
  • 利用布局层次结构比较进行语义名称推断,显著提升了混淆活动名称的可读性,增强了非技术利益相关者的可用性。
  • 用户研究证实,与手动审查相比,StoryDroid 能够实现更快、更高效的竞争对手应用探索,尤其在功能发现和导航理解方面表现更优。
  • 系统输出支持实际应用,如推荐用户界面布局和代码模式,展示了其集成到应用开发流程中的潜力。
  • 该方法在覆盖率上优于仅依赖动态分析的方案,且在可扩展性上优于需要运行应用或仅限于开源应用的现有工具。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。