Experimental Validation of OO Design Patterns
Projects of the Experimental Software Engineering Group at the University of Maryland

Experimental Validation of

OO Design Patterns


Object-Oriented Design Patterns (OODPs) have been proposed as a technique to encapsulate design experience and aid in design reuse. However, so far, there is very little empirical evidence about what we can expect from this emergent technology in terms of increasing software reuse, improving software quality, and improving software evolvability. Our work is a step in this direction.


The goals of this work are twofold.
  • We propose, first, to characterize OO systems with respect to their use of OODPs to see if designers and programmers are implicitly using patterns and, if so, which of the proposed OODPs are actually most likely to be used in practice. We aim to see if proposed OODPs are successful in capturing a useful representation of the world.
  • We also propose to experimentally assess the capabilities of OO design patterns with respect to quality, repairability, and reusability. By quality we mean the error-proneness of an OODP. By repairability we mean the relative level of difficulty in reworking an OODP. Finally, by reusability we mean the relative level of difficulty in reusing a given OODP.


Object-Oriented Design Patterns; Reverse Engineering; Empirical Software Engineering; C++ Language


  • University of Maryland
  • Centre de recherche Informatique de Montreal
  • References

    "An Inductive Method for Discovering Design Patterns from Object-Oriented Software System".
    By F. Shull, W. Melo, and V. Basili. Dept. of Computer Science, University of Maryland, College Park, MD, 20742. January 1996. (Also available as UMIACS-TR-96-10).

    More Project Info

    <- Back to ESEG Home Page
    Last updated on January 27, 1997 by