2011 · 29 citations · 4 references
ComputingComputer ScienceLifecycle EngineeringMobile ComputingSoftware EngineeringMobile Application DevelopmentMobile Application Reverse EngineeringSoftware DesignSoftware MaintenanceSoftware ModelingSoftware TestingApplication Lifecycle ManagementApplication Reverse EngineeringMobile App TestingMobile Application Lifecycle ManagementMobile Application MaintenanceMobile Application Quality AssuranceMobile Software ArchitectureSoftware Reverse Engineering
In mobile applications, the application lifecycle consists of the process-related states (e.g. suspended, ready, running) and the transitions between them. A faulty or insufficient implementation of the mobile application lifecycle can be the source of many problematic faults, e.g. loss of data. Thus for a software developer, understanding and mastering the mobile application lifecycle is essential for high quality software. In our work with various mobile platforms, we found that the given lifecycle models and corresponding documentation are often inconsistent, incomplete and incorrect. In this paper we present a way to reverse-engineer application lifecycles of mobile platforms by testing. Within a case study we apply the presented concept to three mobile platforms: Android, iOS and Java ME. We further show how developers of mobile applications can use our results to get correct lifecycle models for these platforms.
4