Comprehension strategies and difficulties in maintaining object-oriented systems: An explorative study

  • Authors:
  • Amela Karahasanović;Annette Kristin Levine;Richard Thomas

  • Affiliations:
  • Simula Research Laboratory, Software Engineering Department, Martin Linges vei 17, Fornebu, P.O. Box 134, NO-1325 Lysaker, Norway;Software Innovation ASA, P.O. Box 191, NO-1366 Lysaker, Norway;School of Computer Science and Software Engineering, M002, The University of Western Australia, Crawley, Western Australia 6009, Australia

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program comprehension is a major time-consuming activity in software maintenance. Understanding the underlying mechanisms of program comprehension is therefore necessary for improving software maintenance. It has been argued that acquiring knowledge of how a program works before modifying it (the systematic strategy) is unrealistic in larger programs. The goal of the experiment presented in this paper is to explore this claim. The experiment examines strategies for program comprehension and cognitive difficulties of developers who maintain an unfamiliar object-oriented system. The subjects were 38 students in their third or fourth year of study in computer science. They used a professional Java tool to perform several maintenance tasks on a medium-size Java application system in a 6-h long experiment. The results showed that the subjects who applied the systematic strategy were more likely to produce correct solutions. Two major groups of difficulties were related to the comprehension of the application structure, namely to the understanding of GUI implementation and OO comprehension and programming. Acquisition of strategic knowledge might improve program comprehension in software maintenance.