Skip to main content
Log in

A Review of Experimental Investigations into Object-Oriented Technology

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

In recent years there has been a growing interest in empirically investigating object-oriented technology (OOT). Much of this empirical work has been experimental in nature. This paper reviews the published output of such experiments—18 in total—with the twin aims of, first, assessing what has been learnt about OOT and, second, what has been learnt about conducting experimental work. We note that much work has focused upon evaluation of the inheritance mechanism. Whilst such experiments are of some interest, we observe that this may be of less significance to the OOT community than experimenters seem to believe. Instead, OOT workers place more emphasis upon other mechanisms such as composition, components, frameworks, architectural styles and design patterns. This leads us to conclude that the empirical researchers need to ensure that their work keeps pace with technological developments in the fields they aim to investigate.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Abreu, F., and Melo, W. 1996. Evaluating the Impact of Object-Oriented Design on Software Quality. Proceedings of the 3rd ISMS (Metrics'96).

  • Agarwal, R., and Sinha, A. 1996. The role of prior experience and task characteristics in object-oriented modeling: An empirical study. International Journal of Human- Computer Studies 45(6): 639–667.

    Google Scholar 

  • Agarwal, R., De, P., and Sinha, A. 1999. Comprehending object and process models: An empirical study. IEEE Transactions of Software Engineering 25(4): 541–555.

    Google Scholar 

  • Agarwal, A., Sinha, P., and Tanniru, M. 1996. Cognitive fit in requirements modelling: A study of object process methodologies. Journal of Management Information Systems, 13(2): 137–162.

    Google Scholar 

  • Aksit, M., and Bergmans, L. (1992). Obstacles in Object-Oriented Software Development, in OOPSLA' 92.

  • Anderberg, M.R. 1973. Cluster Analysis for Applications. New York: Academic Press.

    Google Scholar 

  • Amstrong, J., and Mitchell, R. 1994. Uses and abuses of inheritance. Software Engineering Journal January: 19–26.

  • Basili, V., and Burgess, A. 1995. Finding and experimental basis for software engineering, IEEE Software 92–93.

  • Basili, V., Briand, L., and Melo, W. 1996. A Validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering, 22(October): 751–761.

    Google Scholar 

  • Blaha, M. 1993. Aggregation of parts of parts of parts. JOOP September: 14–20.

  • Briand, L., Bunse, C., and Daly, J. 2001. A controlled experiment for evaluating quality guidelines on the maintainability of object-oriented designs. IEEE Transactions on Software Engineering 27(6): 513–530.

    Google Scholar 

  • Briand, L. et al. 1997. An experimental comparison of the maintainability of object-oriented and structural design documents. Empirical Software Engineering 2(3): 291–312.

    Google Scholar 

  • Capretz, L., and Lee, P. 1993. Object-oriented design: guidelines and techniques. Information and Software Technology 35(April): 195–206.

    Google Scholar 

  • Cartwright, M. 1998. An empirical view of inheritance. Information and Software Technology 40(14): 795–799.

    Google Scholar 

  • Chatel, S., and Detienne, F. 1994. Expertise in Object-Oriented Programming, in ECCE 7, S. Augustin, Germany.

    Google Scholar 

  • Civelo, F. 1993. Roles for Composite Objects in Object-Oriented Analysis and Design, in OOPSLA'93.

  • Coad, P. 1992. Object-oriented patterns. Com. of the ACM 35(9): 152–159.

    Google Scholar 

  • Coad, P., and Mayfield, M. 1997. Java-Inspired Design: Use Composition, Rather than Inheritance, in American Programmer, 22–31.

  • Coad, P., and Yourdon, E. 1991. Object-Oriented Design. 1st Ed. Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • Coad, P., and Yourdon, E. 1991. Object-Oriented Analysis. 2nd Ed. Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • Computing, Java on Course to dominate by 2002, in VNU business publications. 1999. p. 3.

  • Coplien, J., H. D., and W. D. 1998. Commonality and variability in software engineering. IEEE Software December: 37–45.

  • Corritore, C., and Wiedenbeck, S. 2000. Direction an Scope of Comprehension-Related Activities by Procedural and Object-Oriented Programmers: An Empirical Study, in 8th International Workshop on Program Comprehension (IWPC'00).

  • Cunis, R. 1997. Improving Software Development the Object-Oriented Way, in SQE 97. Udine, Italy.

  • Daly, J. et al. 1996. Evaluating Inheritance Depth on the Maintainability of Object-Oriented Software. Empirical Software Engineering 1(2): 109–132.

    Google Scholar 

  • Daly, J. et al. 1996. The Effect of Inheritance on the Maintainability of Object-Oriented Software: An Empirical Study. In: Proceedings of the International Conference on Software Maintenance. Washington: IEEE Computer Society Press.

    Google Scholar 

  • DeMacro, T. 1978. Structured Analysis and System Specification. Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • DeRemer, F., and Kron, H. 1976. Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering, SE-2(2)(June): 80–86.

    Google Scholar 

  • Dvorak, J. 1994. Conceptual Entropy and Its Effect on Class Hierarchies. IEEE Computer 27(6)(June): 59–63.

    Google Scholar 

  • Ennals, R. 1998. Inheritance considered harmful. EXE, May: 22–30.

  • Everrit, B. S., and Dunn, G. 1983. Advanced Methods of Data Exploration and Modeling. London Heinemann.

  • Fenton, N., and Pfleeger, S. L. 1997. Software Metrics, A rigorous & Practical Approach, 2nd Ed. London: International Thompson Computer Press.

    Google Scholar 

  • Firesmith, D. 1995. Inheritance guidelines. JOOP May: 67–72.

  • Gamma, E. et al. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. New York: Addison-Wesley.

    Google Scholar 

  • Harrison, R., Counsell, S., and Nithi, R. 2000. Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems. Journal of Systems Software 52(2- 3): 173–179.

    Google Scholar 

  • Hatton, L. 1998. Does OO Sync with How We Think? IEEE Software May/June: 46–54.

  • Henry, S., and Humphrey, M. 1990. A Controlled Experiment to Evaluate Maintainability of Object-Oriented Software. IEEE Conference on Software Maintenance, IEEE Computer Society Press: 258–265.

  • Johnson, R., and Foote, B. 1988. Designing reusable classes. JOOP June/July: 22–30, 35.

  • Kilian, M. 1991. A Note of Type Composition Reusability. ACM SIGPLAN OOPS Messenger, 2(3): 24–32.

    Google Scholar 

  • Kirsopp, C., Shepperd, M., and Webster, S. 1999. A empirical study into the use of measurement to support OO design evaluation. in IEEE 6th International. Metrics Symposium, November 5- 6, 1999. Boca Raton, Fl.

  • Laitenberger, O. et al. 2000. An experimental comparison of reading techniques for defect detection in UML design documents. Journal of Systems Software 53: 183–204.

    Google Scholar 

  • Lee, S., and O'Keefe, R. 1996. The effect of Knowledge Representation Schemes on Maintainability of Knowledge-Based Systems. IEEE Transactions on Knowledge and Data Engineering 8(1): 173–178.

    Google Scholar 

  • Lewis, J. et al. 1991. An Empirical Study of the Object-Oriented Paradigm and Software Reuse, OOPSLA '91 184–196.

  • Lieberherr, K., and Riel, A. 1989. Contributions to Teaching Object-Oriented Design and Programming, in OOPSLA.

  • Lieberherr, K., Bergstein, P., and Silva-Lepe, I. 1991. From objects to classes: Algorithms for optimal object-oriented design. Software Engineering Journal July: 205–228.

  • Martin, J. 1992. Strategic Data Modelling. New Jersey: Prentice-Hall.

    Google Scholar 

  • Mattsson, M. 1999. Effort distribution in a six year industrial application framework project. In: IEEE International Conference On Software Maintenance (ICSM99). Oxford, England.

  • Morisio, M. et al. 1999. Measuring functionality and productivity in web-based applications: A case study. In: Sixth IEEE International Symposium on Software Metrics.

  • Moynihan, T. 1996. An Experimental Comparison of Object-Orientation and Functional-Decomposition as Paradigms for Communicating System Functionality to Users. Journal of Systems Software 33(2): 163–169.

    Google Scholar 

  • Odell, J. 1994. Six different kinds of composition. JOOP January: 10–15.

  • Pant, Y., Henderson-Sellers, B., and Verner, J. 1996. Generalization of object oriented components for reuse: Measurements of effort and size change. JOOP 9(2): 19–31.

    Google Scholar 

  • Pennington, N. 1987a. Comprehension strategies in programming. In: S.S.G.M., E. Olson, (eds): Empirical Studies of Programmers: Second Workshop, Ablex, Norwood, NJ, Soloway. 100–113.

    Google Scholar 

  • Pennington, N. 1987. Stimulus structures and mental representation in expert comprehension of computer programs. Cognitive Psychology 19: 295–341.

    Google Scholar 

  • Pohl, I. 1993. Object-Oriented Programming Using C++. Redwood City, CA: Benjamin/Cummings.

    Google Scholar 

  • Prechelt, L. et al. 2001. A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions. IEEE Transactions on Software Engineering 27(12): 1134–1144.

    Google Scholar 

  • Prechelt, L. et al. 2001. Two Controlled Experiments Assessing the Usefulness of Design Pattern Information in Program Maintenance. IEEE Transactions on Software Engineering (accepted for publication).

  • Ramakrishnan, S., and Menzies, T. 1996. An ongoing OO software engineering measurement experiment, in International Conference Software Engineering Education and Practice.

  • Riel, A. 1996. Object-Oriented Design Heuristics, New York, Addison-Wesley.

    Google Scholar 

  • Rumbaugh, J. 1993. Disinherited! Examples of misuse of inheritance. JOOP Jan: 19–24.

  • Rumbaugh, J. et al. 1991. Object-Oriented Modeling and Design. Englewood Cliffs, NJ: Prentice-Hall.

    Google Scholar 

  • Seidewitz, E. 1996. Controlling inheritance. JOOP 8(January): 36–42.

  • Shoval, P., and Frumermann, I. 1994. OO and EER Conceptual Schemas: A Comparison of User Comprehension. Journal of Database Management 5(4): 28–38.

    Google Scholar 

  • Stark, M. 1993. Impacts of Object-Oriented Technologies: Seven Years of Software Engineering. Journal Systems Software 23: 163–169.

    Google Scholar 

  • Stevens, P., and Pooley, R. 1999. Using UML: Software Engineering with Objects and Components, O.T. Series. Harlow, Essex, UK: Addison-Wesley.

    Google Scholar 

  • Tichy, W. 1998. Should computer scientists experiment more? IEEE Computer May: 32–40.

  • Unger, B., and Prechelt, L. 1998. The impact of inheritance depth on maintenance tasks—Detailed description and evaluation of two experimental replications. Technical Report, Karlsruhe University: Karlsruhe, Germany.

    Google Scholar 

  • Venners, B. 1998. Inheritance versus composition: Which one should you choose? in Java World.

  • Wiedenbeck, S., and Ramalingam, V. 1999. Novice comprehension of small programs written in the procedural and object-oriented styles. International Journal of Human- Computer Studies 51: 71–87.

    Google Scholar 

  • Wiedenbeck, S. et al. 1999. A comparison of the comprehension of object-oriented and procedural programms by novice programmers. Interacting with Computers, 11: 255–282.

    Google Scholar 

  • Wohlin, C., and Runeson, P. et al. 2000. Experimentation in Software Engineering—An introduction. Norwell, MA. Kluwer Academic Publishers.

    Google Scholar 

  • Yida, M., Sahraoui, H., and Lounis, H. 1998. Impact of complexity on reusability in OO systems, in ECOOP'98. Berlin, Germany.

  • Zelkowitz, M., and Wallace, D. 1998. Experimental Models for Validating Technology. IEEE Computer May: 23–31.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Deligiannis, I.S., Shepperd, M., Webster, S. et al. A Review of Experimental Investigations into Object-Oriented Technology. Empirical Software Engineering 7, 193–231 (2002). https://doi.org/10.1023/A:1016392131540

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1016392131540

Navigation