Publication Type

Journal Article

Version

publishedVersion

Publication Date

11-2025

Abstract

Android applications (i.e., apps) are indispensable nowadays and are getting bigger and bigger with an increasing number offunctionalities. To understand how to access functionalities in an app, prior studies proposed tools to model the transitionsbetween functionalities with the activity transition graph (ATG). ATG is an important data structure and has been used forvarious Android app analyses, including app design, understanding, and testing. However, there is no benchmarking work onATG generation. It is still unclear whether the transitions identified by tools are correct and how many transitions are missed.To fill this gap, we manually identified all transitions in 98 applications to build a benchmark. Using the benchmark, weevaluate seven popular ATG generation tools that were used in prior studies. We observe that these tools not only reportincorrect transitions but also missed transitions, and different tools do not report the same set of transitions. Comparedwith the transitions reported by a single tool, the union set of the transitions reported by different tools contains fewermissed transitions but more incorrect transitions. We summarize five potential reasons that explain why GUI testing toolsfail to identify transitions in ATG, revealing the limitations in the current design of exploration strategies. For instance, weobserve that learning-based tools may overlook subtle distinctions between states, potentially misclassifying different statesas identical. This will lead the tool to always focus on the old state while the new state is not fully explored. Based on ourfindings, we propose a series of suggestions for researchers using and building ATG generation tools. For example, whenaiming to identify more transitions, one can combine the results of different tools by running each tool for 10 minutes, whichwill produce better results than running a single tool for 60 minutes.

Keywords

Android, Activity Transition Graph, Program Analysis

Discipline

Graphics and Human Computer Interfaces | Software Engineering

Research Areas

Software and Cyber-Physical Systems

Areas of Excellence

Digital transformation

Publication

ACM Transactions on Software Engineering and Methodology

First Page

1

Last Page

28

ISSN

1049-331X

Identifier

10.1145/3776553

Publisher

Association for Computing Machinery (ACM)

Additional URL

https://doi.org/10.1145/3776553

Share

COinS