Software Comprehension – A Review & Research Direction

Research output: Other contribution

Abstract

Comprehending computer programs is one of the core software engineering activities. Software comprehension is required when a programmer maintains, reuses, migrates, re-engineers, or enhances software systems. Due to this, a large amount of research has been carried out, in an attempt to guide and support software engineers in this process. Several cognitive models of program comprehension have been suggested, which attempt to explain how a software engineer goes about the process of understanding code. However, research has suggested that there is no one ‘all encompassing’ cognitive model that can explain the behavior of ‘all’ programmers, and that it is more likely that programmers, depending on the particular problem, will swap between models (Letovsky, 1986). This paper identifies the key components of program comprehension models, and attempts to evaluate currently accepted models in this framework. It also highlights the commonalities, conflicts, and gaps between models, and presents possibilities for future research, based on its findings.
Original languageEnglish (Ireland)
TypeTechnical Report UL-CSIS-03-3, University of Limerick
Place of PublicationUniversity of Limerick, Ireland
Publication statusPublished - 2003

Fingerprint

Dive into the research topics of 'Software Comprehension – A Review & Research Direction'. Together they form a unique fingerprint.

Cite this