  Many intelligent user interfaces employ application and user models to
determine the user's preferences, goals and likely future actions. Such models
require application analysis, adaptation and expansion. Building and
maintaining such models adds a substantial amount of time and labour to the
application development cycle. We present a system that observes the interface
of an unmodified application and records users' interactions with the
application. From a history of such observations we build a coarse state space
of observed interface states and actions between them. To refine the space, we
hypothesize sub-states based upon the histories that led users to a given
state. We evaluate the information gain of possible state splits, varying the
length of the histories considered in such splits. In this way, we
automatically produce a stochastic dynamic model of the application and of how
it is used. To evaluate our approach, we present models derived from real-world
application usage data.
