Difficulties experienced by students in maintaining object-oriented systems: an empirical study

  • Authors:
  • Amela Karahasanović;Richard C. Thomas

  • Affiliations:
  • Simula Research Laboratory, Lysaker, Norway;The University of Western Australia, Western Australia, Australia

  • Venue:
  • ACE '07 Proceedings of the ninth Australasian conference on Computing education - Volume 66
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is widely accepted that software maintenance absorbs a significant amount of the effort expended in software development. Proper training of both university students and professional developers is required in order to improve software maintenance. Understanding cognitive difficulties the students have while maintaining object-oriented systems is a prerequisite for improving their university education and preparing them for jobs in industry. The goal of the experiment reported in this paper is to explore the difficulties of students who maintain an unfamiliar object-oriented system. The subjects were 34 students in their third 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 seven-hour long experiment. The major difficulties were related to understanding program logic, algorithms, finding change impacts, and inheritance of the functionality. Based on these results we suggest teaching the basics of impact analysis and introducing examples of modifying larger object-oriented programs in courses on object-oriented programming.