• Record: found
  • Abstract: found
  • Article: found
Is Open Access

An Experiment Measuring the Effects of Maintenance Tasks on Program Knowledge


11th International Conference on Evaluation and Assessment in Software Engineering (EASE) (EASE)

Evaluation and Assessment in Software Engineering (EASE)

2-3 April 2007

Experiment, Software Maintenance, Program Comprehension

Read this article at

      There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.


      Objective: To ascertain whether programmers gain more knowledge about an unfamiliar program by enhancing the code or documenting the code. The context of this work was investigating whether maintenance programmers faced with an unfamiliar system should start by actively working on the system or spend time passively exploring the system before attempting to make changes.

      Method:We designed a laboratory experiment where subjects initially either enhanced or documented a program and then we measured how they performed when carrying out a further task on the given code. Our hypothesis was that programmers would gain more knowledge performing one of the two tasks. The experiment was repeated three times with different groups of students, all at the same stage of their education.

      Results: There was no significant difference between the performance of the two groups who had performed different initial tasks. However, there was a strong correlation between performance in the measured task and the students’ programming ability, as measured by a previous academic assessment. As not all subjects completed the measured task within the given time, we needed to use Kaplan-Meier survival curves and the Cox Proportional Hazard Model to analyse our data. Detailed inspection of the code produced during the experiment revealed some interesting qualitative results.

      Conclusions: We were unable to show a significant difference between the value of enhancing or documenting code as a way of gaining knowledge about unfamiliar programs. In the context of software maintenance this means that there is no advantage in spending unproductive time documenting code to gain knowledge.

      Related collections

      Most cited references 1

      • Record: found
      • Abstract: not found
      • Article: not found

      Program understanding behavior during debugging of large scale software


        Author and article information

        University of Glasgow , Department of Computing Science

        17 Lilybank Gardens

        Glasgow, Lanarkshire, G12 8QQ, UK
        April 2007
        April 2007
        : 1-10
        © Alistair Hutton et al. Published by BCS Learning and Development Ltd. 11th International Conference on Evaluation and Assessment in Software Engineering (EASE), Keele University, UK

        This work is licensed under a Creative Commons Attribution 4.0 Unported License. To view a copy of this license, visit

        11th International Conference on Evaluation and Assessment in Software Engineering (EASE)
        Keele University, UK
        2-3 April 2007
        Electronic Workshops in Computing (eWiC)
        Evaluation and Assessment in Software Engineering (EASE)
        Product Information: 1477-9358 BCS Learning & Development
        Self URI (journal page):
        Electronic Workshops in Computing


        Comment on this article