• DocumentCode
    2210004
  • Title

    Playing roles in design patterns: An empirical descriptive and analytic study

  • Author

    Khomh, Foutse ; Guéhéneuc, Yann-Gaël ; Antoniol, Giuliano

  • Author_Institution
    Ptidej Team-DGIGL, Ecole Polytech. de Montreal, Montreal, QC, Canada
  • fYear
    2009
  • fDate
    20-26 Sept. 2009
  • Firstpage
    83
  • Lastpage
    92
  • Abstract
    This work presents a descriptive and analytic study of classes playing zero, one, or two roles in six different design patterns (and combinations thereof). First, we answer three research questions showing that (1) classes playing one or two roles do exist in programs and are not negligible and that there are significant differences among the (2) internal (class metrics) and (3) external (change-proneness) characteristics of classes playing zero, one, or two roles. Second, we revisit a previous work on design patterns and changeability and show that its results were, in a great part, due to classes playing two roles. Third, we exemplify the use of the study results to provide a ranking of the occurrences of the design patterns identified in a program. The ranking allows developers to balance precision and recall.
  • Keywords
    software engineering; design patterns; software design; software engineering; Computer architecture; Pattern analysis; Software design;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2009. ICSM 2009. IEEE International Conference on
  • Conference_Location
    Edmonton, AB
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4244-4897-5
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2009.5306327
  • Filename
    5306327