posted on 2003-01-01, 00:00authored byAndrew J. Ko, Brad A. Myers
Models of programming and debugging suggest many
causes of errors, and many classifications of error types
exist. Yet, there has been no attempt to link causes of
errors to these classifications, nor is there a common
vocabulary for reasoning about such causal links. This
makes it difficult to compare the abilities of programming
styles, languages, and environments to prevent errors. To
address this issue, this paper presents a model of
programming errors based on past studies of errors. The
model was evaluated with two observational of Alice, an
event-based programming system, revealing that most
errors were due to attentional and strategic problems in
implementing algorithms, language constructs, and uses
of libraries. In general, the model can support theoretical,
design, and educational programming research.