The task-dependent nature of maintenance of object-oriented programming: An empirical investigation | Posted on:2004-04-01 | Degree:Ph.D | Type:Thesis | University:Vanderbilt University | Candidate:Freeman, Gordon L., Jr | Full Text:PDF | GTID:2468390011973187 | Subject:Computer Science | Abstract/Summary: | PDF Full Text Request | Previous investigations of the relationship between the depth of inheritance and the maintainability of object-oriented software have reported conflicting results. This dissertation presents empirical evidence that demonstrates that the nature of the maintenance task affects maintainability, and explains how the performance of a maintenance task interacts with the mechanism of inheritance in an object-oriented software product. Three carefully designed controlled experiments, using two aspects of maintainability, have shown that certain types of maintenance tasks benefit from inheritance; whereas other types do not.; The mechanism of inheritance, which allows us to capture the commonality in a set of classes, was used to define the types of maintenance tasks. Time and correctness were the two aspects of maintainability used to establish the results. The time to complete the maintenance task was recorded, and the percentage of the needed modifications that were done correctly was computed using a strategy-based recursive scoring scheme.; The first experiment proved that a maintenance task that changes only items common to all classes in an inheritance hierarchy is easier to perform with an inheritance-based implementation. In contrast, the second experiment proved that a maintenance task that changes an inherited behavior in only one of multiple leaf classes in an inheritance hierarchy is easier to perform with a flat implementation. Finally, in the third experiment, we accepted the null hypothesis that a maintenance task that changes a non-inherited behavior in only one of multiple leaf classes in an inheritance hierarchy is equally easy to perform with a flat or an inheritance-based implementation.; The contributions of this research include the following: (1) At the 0.05 level of significance, we statistically proved that the nature of a maintenance task is a major determinant of whether or not inheritance aids maintenance of object-oriented software products; (2) We put forward a mechanism that explains how the nature of the task affects the maintenance of object-oriented software; and (3) We presented a strategy-based recursive scoring scheme for evaluating programming experiments. | Keywords/Search Tags: | Maintenance, Object-oriented, Task, Inheritance, Nature, Maintainability | PDF Full Text Request | Related items |
| |
|