
Technical Reports (CIS)
Document Type
Technical Report
Date of this Version
1-1-2012
Abstract
We study the problem of extracting high-level state machine models from software source code. Our target domain is GUI-driven applications for small hand-held devices such as cell phones and PDAs. In such systems, a natural high-level model is captured by a state machine, where states are GUI screens and button/menu item tappings are actions that trigger transitions between states. The paper presents a symbolic execution technique that allows us to identify states and transitions from the application source code. We discuss an implementation of this technique that operates on a large subset of the C# language and apply as a case study to the subsystem of a decision support tool for medical diagnosis.
Keywords
Model based verification, model extraction, symbolic execution, static program analysis, GUI-driven applications
Date Posted: 18 January 2012

Comments
University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-12-04.