A controlled experiment on inheritance depth as a cost factor for code maintenance

نویسندگان

  • Lutz Prechelt
  • Barbara Unger
  • Michael Philippsen
  • Walter F. Tichy
چکیده

In two controlled experiments we compare the performance on code maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. Daly et al. previously reported similar experiments on the same question with quite different results. They found that the 5-level program tended to be harder to maintain than the 0-level program, while the 3-level program was significantly easier to maintain than the 0-level program. We describe the design and setup of our experiment, the differences to the previous ones, and the results obtained. Ours and the previous experiments are different in several ways: We used a longer and more complex program, made an inheritance diagram available to the subjects, and added a second kind of maintenance task. When taken together, the previous results plus ours suggest that there is no such thing as usefulness or harmfulness of a certain inheritance depth as such. Code maintenance effort is hardly correlated with inheritance depth, but rather depends on other factors (partly related to inheritance depth). Using statistical modeling, we identify the number of relevant methods to be one such factor. We use it to build an explanation model of average code maintenance effort that is much more powerful than a model relying on inheritance depth.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Answer to reviews of TSE # 110555 ( “ A Controlled Experiment on Inheritance

In two controlled experiments we compare the performance on code maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. Daly et al. previously reported similar experiments on the same question with quite different results. The...

متن کامل

A Controlled Experiment on Inheritance Depth as a Cost Factor for Maintenance

In two controlled experiments we compare the performance on maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. John Daly et al. previously reported on similar experiments on the same question with quite different results. ...

متن کامل

An Empirical Study Evaluating Depth of Inheritance on the Maintainability of Object Oriented Software

This empirical research was undertaken as part of a multi method programme of research to investigate unsupported claims made of object oriented technology A series of subject based laboratory experiments including an internal replication tested the e ect of inheritance depth on the maintainability of object oriented software Subjects were timed performing identical maintenance tasks on object ...

متن کامل

Evaluating Depth of Inheritance on theMaintainability of Object - Oriented

This empirical research was undertaken as part of a multi-method programme of research to investigate unsupported claims made of object-oriented technology. A series of subject-based laboratory experiments, including an internal replication, tested the eeect of inheritance depth on the maintainability of object-oriented software. Subjects were timed performing identical maintenance tasks on obj...

متن کامل

The impact of inheritance depth on maintenance tasks – Detailed description and evaluation of two experiment replications

Inheritance is one of the main concepts of object-oriented technology. It is claimed that the use of inheritance improves productivity and decreases development time. John Daly et al. reported on two experiments evaluating the effects of inheritance depth on program maintenance. They found that maintenance was performed significantly quicker for software using three levels of inheritance, compa...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Journal of Systems and Software

دوره 65  شماره 

صفحات  -

تاریخ انتشار 2003