A Multi-Site Joint Replication of a Design Patterns Experiment Using Moderator Variables to Generalize across

Several empirical studies have explored the benefits of software design patterns, but their collective results are highly inconsistent. Resolving the inconsistencies requires investigating moderators -- i.e., variables that cause an effect to differ across contexts. Replicate a design patterns exper...

Full description

Saved in:
Bibliographic Details
Published inIEEE transactions on software engineering Vol. 42; no. 4; p. 302
Main Authors Krein, J L, Prechelt, L, Juristo, N, Nanthaamornphong, A
Format Journal Article
LanguageEnglish
Published New York IEEE Computer Society 01.04.2016
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Several empirical studies have explored the benefits of software design patterns, but their collective results are highly inconsistent. Resolving the inconsistencies requires investigating moderators -- i.e., variables that cause an effect to differ across contexts. Replicate a design patterns experiment at multiple sites and identify sufficient moderators to generalize the results across prior studies. This paper performs a close replication of an experiment investigating the impact (in terms of time and quality) of design patterns (Decorator and Abstract Factory) on software maintenance. The experiment was replicated once previously, with divergent results. This paper executes their replication at four universities -- spanning two continents and three countries -- using a new method for performing distributed replications based on closely coordinated, small-scale instances ("joint replication"). This paper performs two analyses: a post-hoc analysis of moderators, based on frequentist and Bayesian statistics; an a priori analysis of the original hypotheses, based on frequentist statistics. The main effect differs across the previous instances of the experiment and across the sites in their distributed replication. Their analysis of moderators (including developer experience and pattern knowledge) resolves the differences sufficiently to allow for cross-context (and cross-study) conclusions. The final conclusions represent 126 participants from five universities and 12 software companies, spanning two continents and at least four countries. The Decorator pattern is found to be preferable to a simpler solution during maintenance, as long as the developer has at least some prior knowledge of the pattern. For Abstract Factory, the simpler solution is found to be mostly equivalent to the pattern solution. Abstract Factory is shown to require a higher level of knowledge and/or experience than Decorator for the pattern to be beneficial.
ISSN:0098-5589
1939-3520