How Cognitive Processes Aid Program Understanding.

Abstract

A theoretical model of how an expert programmer goes about understanding a piece of software is presented. This understanding plays an especially critical role in software maintenance tasks. The model is based on three cognitive processes: CHUNKING, SLICING, and HYPOTHESIS GENERATION and VERIFICATION. These processes are used in conjunction with a programmer's knowledge base and categories of information critical to program understanding are identified. The model also takes advantage of certain characteristics of an associative memory to describe, using a semantic net representation, the mechanisms behind these processes and the organization of memory resulting from their use. The benefits of documentation and the use of commenting and mnemonics are described in terms of the model and may be useful as a guide for incorporating these into the code.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1985
Accession Number
ADA159061

Entities

People

  • P. R. Dorin

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Artificial Intelligence
  • Classification
  • Cognition
  • Computer Programming
  • Computer Programs
  • Computers
  • Content Addressable Memory
  • Language
  • Learning
  • Psychology
  • Reasoning
  • Software Development
  • Standards
  • United States
  • Verification

Fields of Study

  • Engineering

Readers

  • Brain and Cognitive Science; Experimental Psychology; Cognitive Neuroscience
  • Software Engineering.
  • Systems Analysis and Design