SEApr 9, 2015

Using Model Checking to Generate Test Cases for Android Applications

arXiv:1504.02440v122 citations
AI Analysis

This addresses the challenge of non-deterministic behavior in mobile applications for developers, though it is incremental as it applies existing model checking techniques to a specific domain.

The paper tackles the problem of analyzing Android application correctness by proposing model-based testing to generate all possible user interactions using composed state machines and model checking, resulting in an automated tool implementation with Spin.

The behavior of mobile devices is highly non deterministic and barely predictable due to the interaction of the user with its applications. In consequence, analyzing the correctness of applications running on a smartphone involves dealing with the complexity of its environment. In this paper, we propose the use of model-based testing to describe the potential behaviors of users interacting with mobile applications. These behaviors are modeled by composing specially-designed state machines. These composed state machines can be exhaustively explored using a model checking tool to automatically generate all possible user interactions. Each generated trace model checker can be interpreted as a test case to drive a runtime analysis of actual applications. We have implemented a tool that follows the proposed methodology to analyze Android devices using the model checker Spin as the exhaustive generator of test cases.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes