Skip to main content
QUICK REVIEW

[論文レビュー] A Deep Learning based Approach to Automated Android App Testing.

Yuanchun Li, Ziyue Yang|arXiv (Cornell University)|Jan 9, 2019
Software Testing and Debugging Techniques参考文献 29被引用数 14
ひとこと要約

本稿では、UIトレースから人間らしい相互作用パターンを学習する深層学習ベースのアプローチであるHumanoidを提案する。このアプローチにより、Androidアプリの有効なテスト入力を高速に生成でき、最先端のランダムまたはブルートフォース生成手法よりも高いテストカバレッジを達成する。

ABSTRACT

Automated input generators are widely used for large-scale dynamic analysis and testing of mobile apps. Such input generators must constantly choose which UI element to interact with and how to interact with it, in order to achieve high coverage with a limited time budget. Currently, most input generators adopt pseudo-random or brute-force searching strategies, which may take very long to find the correct combination of inputs that can drive the app into new and important states. In this paper, we propose Humanoid, a deep learning-based approach to automated Android app testing. Our insight is that if we can learn from human-generated interaction traces, it is possible to generate human-like test inputs based on the visual information in the current UI state and the latest state transitions. We design and implement a deep neural network model to learn how end-users would interact with an app (specifically, which UI elements to interact with and how), and show that we can successfully generate human-like inputs for any new UI based on the learned model. We then apply the model to automated testing of Android apps and demonstrate that it is able to reach higher coverage, and faster as well, than the state-of-the-art test input generators.

研究の動機と目的

  • Androidアプリのテストにおける現在の擬似ランダムまたはブルートフォース入力生成戦略の非効率性を解消すること。
  • 人間が生成したUI相互作用トレースからユーザーの相互作用パターンを学習し、より優れたテスト入力合成を実現すること。
  • 視覚的状態と最近の遷移に基づいて最適なUI相互作用を予測するモデルを開発すること。
  • 学習したモデルが新しいUIに一般化できるかどうかを評価すること。

提案手法

  • 現在のUIの視覚的表現と最近の状態遷移を入力とする深層ニューラルネットワークを設計する。
  • 人間の相互作用トレース上でモデルを学習させ、どのUI要素とどのタイプの相互作用(例:クリック、入力)を行うかを予測する。
  • UIからの視覚的埋め込みを用いて現在の状態を表現することで、未観測のUIレイアウトへの一般化を可能にする。
  • 相互作用シーケンスにおける時間的依存性を活用し、時間経過に伴うユーザー行動パターンをモデル化する。
  • 訓練済みモデルを用いて、新しいAndroidアプリの自動テスト中にテスト入力を生成する。
  • 標準的なカバレッジメトリクスと実行時間に基づき、ベースライン生成手法と比較して性能を評価する。

実験結果

リサーチクエスチョン

  • RQ1人間の相互作用トレースで学習した深層学習モデルは、新しいAndroidアプリの状態において意味のあるUI相互作用を効果的に予測できるか?
  • RQ2モデルが生成するテスト入力戦略は、ランダムまたはブルートフォースアプローチよりも高いコードカバレッジを達成するか?
  • RQ3カバレッジの速度と完全性の観点から、モデルの性能は最先端の入力生成手法と比べてどうか?
  • RQ4トレーニング中に見られなかった新しいUIレイアウトに対して、モデルはどの程度一般化できるか?

主な発見

  • Humanoidは、同じ時間予算内において、既存の入力生成手法よりも顕著に高いコードカバレッジを達成した。
  • 人間のトレースから効率的なナビゲーションパターンを学習することで、高カバレッジに到達するまでの時間を短縮した。
  • 新しいUIに対しても良好に一般化し、多様なアプリインターフェースにおいても頑健であることが示された。
  • アプリのソースコードが不要な状態で、視覚的および順序的状態情報の活用により、ユーザーに似た相互作用の正確な予測が可能になった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。