Skip to main content
QUICK REVIEW

[논문 리뷰] StoryDroid: Automated Generation of Storyboard for Android Apps

Sen Chen, Lingling Fan|arXiv (Cornell University)|2019. 02. 01.
Advanced Malware Detection Techniques참고 문헌 38인용 수 7
한 줄 요약

StoryDroid는 활동 전환 그래프를 추출하고, 정적 및 동적 레이아웃 코드에서 UI 페이지를 렲상하여, 번역된 활동 이름을 추론함으로써 Android 앱의 시각적 스토리보드를 자동으로 생성하는 시스템입니다. 이는 제품 매니저, 디자이너, 개발자가 UI 화면을 그에 해당하는 구현 코드와 연결함으로써 효율적인 경쟁 분석을 가능하게 하여 앱 탐색과 영감 확보를 크게 향상시킵니다.

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 앱을 수작업으로 탐색하는 데 드는 비효율성을 해결하기 위해.
  • 복잡한 앱을 역공학할 때 발생하는 과제, 즉 완전하지 않은 활동 전환 그래프와 번역된 활동 이름을 극복하기 위해.
  • 다양한 이해관계자를 위해 앱 동작, UI 레이아웃, 구현 코드를 통합된 시각화로 제공하기 위해.
  • 기존 앱의 기능을 더 빠르고 체계적으로 이해하여 기능 영감 확보와 구현 가이드를 제공하기 위해.
  • 대규모 스토리보드 데이터베이스를 통해 UI 디자인 및 코드 재사용을 위한 추천 시스템 개발을 지원하기 위해.

제안 방법

  • 정적 분석을 사용하여 APK에서 활동 전환 그래프(ATG)를 추출하며, 프래그먼트 및 내부 클래스의 전환까지 포함하여 완전성을 향상시킵니다.
  • 정적 레이아웃 파일과 동적으로 추출된 컴포넌트를 결합하여 UI 페이지를 렌더링함으로써 각 화면의 시각적 표현을 가능하게 합니다.
  • 4,426개의 오픈소스 앱 데이터베이스와 레이아웃 계층을 비교하여 번역된 활동 이름에 의미 있는 의미적 이름을 추론합니다.
  • 각 렌더링된 UI 페이지를 그에 해당하는 구현 코드(레이아웃 파일, 활동 코드, 메서드 호출 계층)와 매핑합니다.
  • 정적 및 동적 분석의 하이브리드 접근 방식을 사용하여 정적 및 런타임 렌더링된 UI 요소를 모두 커버합니다.
  • 앱 동작(ATG), 시각적 UI, 소스 코드를 연결하는 종합적인 앱 이해 프레임워크를 구축하여 역할 간 분석을 가능하게 합니다.

실험 결과

연구 질문

  • RQ1역공학된 APK에서 자동으로 완전하고 의미 있는 스토리보드를 생성할 수 있는가?
  • RQ2정적 분석이 동적 UI 렌더링이 존재하는 상황에서도 활동 전환과 UI 컴포넌트를 얼마나 효과적으로 추출할 수 있는가?
  • RQ3대규모 오픈소스 데이터베이스와의 레이아웃 계층 비교를 통해 번역된 활동 이름에 의미적 이름을 얼마나 정확하게 추론할 수 있는가?
  • RQ4생성된 스토리보드가 제품 매니저, UI/UX 디자이너, 개발자에게 경쟁 분석을 지원하는 데 얼마나 유용한가?
  • RQ5대규모 스토리보드 데이터베이스는 UI 디자인 및 구현 코드 추천에 실질적인 응용 사례로 어떻게 활용될 수 있는가?

주요 결과

  • StoryDroid는 프래그먼트 및 내부 클래스를 포함한 복잡한 앱에서도 높은 완전성으로 활동 전환 그래프를 성공적으로 추출하고 시각화합니다.
  • 정적 레이아웃 파일과 동적으로 추출된 컴포넌트를 결합함으로써 효과적인 UI 렌더링을 달성하여 각 화면의 정확한 시각적 표현을 보장합니다.
  • 레이아웃 계층 비교를 통한 의미적 이름 추론은 번역된 활동 이름의 이해도를 크게 향상시켜 비기술적 이해관계자의 사용성도 향상시킵니다.
  • 사용자 연구 결과, StoryDroid는 수작업 검토에 비해 경쟁 앱 탐색을 더 빠르고 효과적으로 가능하게 하며, 특히 기능 탐색과 탐색 이해에 유용함을 확인했습니다.
  • 시스템의 출력물은 UI 레이아웃 및 코드 패턴 추천과 같은 실질적 응용 사례를 지원하며, 앱 개발 파이프라인에 통합될 잠재력을 보여줍니다.
  • 실행이 필요한 기존 도구나 오픈소스 앱에 국한된 도구에 비해 커버리지가 뛰어나고, 더 스케일러블하며, 동적 분석 전용 접근 방식보다도 우수한 성능을 보입니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.