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
Link To Document