Abstract
The use of all variables in 109 novice-level, but expert-written, procedural programs were analyzed in order to find a small but still comprehensive set of generic roles that describe the nature of the successive values a variable obtains. This paper gives the results of the analysis: a list of only nine roles that cover 99 % of variables, frequencies of the roles, and discovered role changes.