A structural learning theory approach to problem solving: An investigation in software maintenance



Journal Title

Journal ISSN

Volume Title



Structural learning theory provides a foundation for the unification of the declarative and procedural knowledge required for the various general problem-solving tasks in an attempt to account for the observed performance of individuals with varying experiences. This research extends the concept of an integrated perspective to general problem solving founded upon structural learning theory by developing a task activities representation of general problem solving and by empirically evaluating this model within the specific task domain of software debugging. A fundamental tenet of structural learning theory is that the basic activities associated with a specific task are essentially the same for all individuals with prior exposure to the task regardless of skill and experience and that differences in the observed performance of individuals are due to the task-specific declarative knowledge possessed and utilized by the individual. This research effort assesses this tenet by evaluating the task activities representation founded upon the integrated model of problem solving in accordance with the observed behavior of a heterogeneous group of software programmers engaged in a software debugging activity. An evaluation of the encoded verbal protocols obtained from 20 professional programmers is conducted utilizing verbal protocol analysis techniques. The results of the analysis provide support for the task activities representation founded upon structural learning theory and provide support for the process portion of the integrated problem-solving model. The results of this study also indicate the presence of previously identified search strategies used by programmers engaged in the software debugging process and provides the foundation for the unification of previous research efforts in software debugging.



Debugging in computer science, Computer software -- Verification, Multiple criteria decision making -- Data processing, Problem solving -- Data processing