Assessing and Estimating Corrective, Enhancive, and Reductive Maintenance Tasks: A Controlled Experiment

Keywords software maintenance; software estimation; maintenance experiment; COCOMO; maintenance size Assessing and Estimating Corrective Enhancive and Reductive Maintenance Tasks: A Controlled Experiment
Standards groups

We recruited 1 senior and 23 graduate computer-science students who were participating in our directed research projects. The participation in the experiment was voluntary although we gave participants a small incentive by
exempting participants from the final assignment. By the time the experiment was carried, all participants had been asked to compile and test the program as a part of their directed research work. However, according to our pre experiment
test, their level of unfamiliarity with the program code (UNFM) varies from “Completely unfamiliar” to “Completely familiar” as we rated UNFM as “Completely unfamiliar” if the participant had not read the code and as “Completely familiar” if the participant had read and understood source code, and modified some parts the program prior to the experiment.

The performance of participants is affected by many factors such as programming skills, programming experience, and application knowledge [4][18]. We assessed the expected performance of participants through a pre experiment survey and review of participants’ resumes. All participants claimed to have programming experience in either C/C++ or Java or both, and 22 participants already had working experience in the software industry. On average, participants claimed to have 3.7 (±2) years of programming experience and 1.9 (±1.7) years of experience in the software industry.

Date published
Document type
technical white paper
Defines standard
Replaced/Superseded by document(s)
Cancelled by
Amended by
File MIME type Size (KB) Language Download
usc-csse-2009-515.pdf application/pdf   254.04 KB English DOWNLOAD!
File attachments

This paper describes a controlled experiment of student programmers performing maintenance tasks on a C++ program. The goal of the study is to assess the maintenance size, effort, and effort distribution of three different maintenance types and to describe estimation models to predict the programmer’s effort on maintenance tasks. The results of our study suggest that corrective maintenance is much less productive than enhancive and reductive maintenance. Our study also confirms the previous results which conclude that corrective and reductive maintenance requires large proportions of effort on program comprehension activity. Moreover, the best effort model we obtained from fitting the experiment data can estimate the time of 79% of the programmers with the error of 30% or less.

Visit also