A screen-oriented representation for mobile applications
Abstract
Program analysis plays an important role in a variety of soft- ware engineering processes, such as automated code refactoring, compiler optimizations, and program slicing. The internal pro- gram representation used by the program analysis algorithm affects the power and efficiency of the analysis. In particular, representations that contain data-flow information alongside control flow are known to be especially useful. While there are many popular internal program representations with data-flow information for traditional languages and platforms, few specifically target mobile applications. In this paper, we propose a new data-flow-enabled representation that addresses the screen-oriented nature of a mobile application and explores its potential. We consider a mobile application to be a reactive system whose states are the screens, and whose events are user actions, incoming communication, or anything else that causes transition from one screen to another. The resulting representation is a finite state machine extended with data-flow information. We suggest that this representation can greatly contribute to optimization, refactoring, and understanding of mobile applications. Copyright © 2013 by the Association for Computing Machinery, Inc. (ACM).