A Model Of Human Cognitive Behavior in Writing Code For Computer Programs

Abstract : A theory of human cognitive processes in writing code for computer programs is presented. It views behavior in terms of three processes, understanding, planning, and coding. The first of these consists of acquisition of information from the problem instructions and directions. This is used by the planning process to create a solution plan stated as a set of functional specifications in a language which is independent of the syntax of the particular programming language. The coding process converts this plan to code using a process named 'symbolic execution' in which pieces of code are assigned effects expressed in terms of the functions the programmer intends the code to perform in achieving the purpose of the program. Within the framework of this theory, a more explicit model of the coding process was developed. The model is based on a production system and has been implemented as a computer program. Given plans taken from protocols of a programmer writing a series of short FORTRAN programs, it is able to generate the same code in the same order as the programmer did.