Towards a model of programmers' cognitive processes in software maintenance: A structural learning theory approach for debugging

Abstract
No comprehensive model of programmers' cognitive processes in software maintenance exists. As a first step in formulating such a model, a cognitive processes model for application debugging is developed. The new model is grounded on structural learning theory, which integrates both declarative models, such as Brooks's (1983) programmer comprehension model, and procedural knowledge such as Gould's (1975) process model and Vessey's (1986) functional model as components.The theoretical foundation of structural learning theory as a reference discipline for exploring software maintenance is provided. Not only are the benefits of the theory examined, but criticisms that have been levied are addressed. Based upon these consequences, the use of structural learning theory as applied to software maintenance is instantiated for the software debugging domain—the result is an approach that unites declarative and procedural knowledge. The practical and research implications of the new approach is then discussed.

This publication has 19 references indexed in Scilit: