![android stack the states android stack the states](https://www.wallpapers13.com/wp-content/uploads/2019/01/Great-Smoky-Mountains-National-Park-North-Carolina-and-Tennessee-National-park-in-the-United-States-of-America-3840x2400.jpg)
Static analysis is gaining a growing interest, allowing developers to predict properties about the run-time behavior of mobile apps without executing them. Mobile platforms are rapidly and continuously changing, with support for new sensors, APIs, and programming abstractions. The evaluations on 35 commonly used apps validate the high-precision of the generated activity launching graphs, and indicate that the proposed back-stack transition analysis outperforms the state-of-the-art one by 29.8% in avoiding 3-length infeasible paths. The study conducted on 968 open source apps from F-droid indicates that non-default configurations are in common use. The proposed analysis contains two types of graph constructions: the activity launching graph that represents activity transitions with extracted back-stack-related configurations, and the back-stack transition graph that simulates the changes of the back stack triggered by activity launchings and back events. In this paper, we present a tool, BSSimulator, to perform the static back-stack transition analysis. Existing activity transition analyses are not sensitive to back-stack-related configurations, which suppose all activities are launched with the default configuration, and thus model infeasible transitions and incorrect back-stack states when there are non-default configurations in an application. Therefore, back-stack transition analysis is closely related to activity transition analysis, which is fundamental for understanding Android behaviors. Users’ interactions may trigger activity launchings, which change the state of the back stack.
![android stack the states android stack the states](https://images-na.ssl-images-amazon.com/images/I/A1DkDvcT4gL.png)
In Android, activity instances at an application’s run time are organized in a back stack, and users always interact with the top instance of the stack.