Playing Roles in Design Patterns: An Empirical Descriptive and Analytic Study. Khomh, F., Guéhéneuc, Y., & Antoniol, G. In Kontogiannis, K. & Xie, T., editors, Proceedings of the 25<sup>th</sup> International Conference on Software Maintenance (ICSM), pages 83–92, September, 2009. IEEE CS Press. 10 pages.Paper abstract bibtex 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) playing roles in design patterns is not a all-or-nothing characteristic of classes and that there are significant differences among the (2) internal and (3) external 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 as they see fit.
@INPROCEEDINGS{Khomh09-ICSM-DPRoles,
author = {Foutse Khomh and Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Giuliano Antoniol},
title = {Playing Roles in Design Patterns: An Empirical Descriptive and Analytic Study},
booktitle = {Proceedings of the 25<sup>{th}</sup> International Conference on Software Maintenance ({ICSM})},
year = {2009},
month = {September},
editor = {Kostas Kontogiannis and Tao Xie},
publisher = {IEEE CS Press},
note = {10 pages.},
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) playing roles in design patterns is not a all-or-nothing characteristic of classes and that there are significant differences among the (2) internal and (3) external 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 as they see fit.},
grant = {NSERC DG},
keywords = {Design patterns ; ICSM},
kind = {MISA},
language = {english},
url = {http://www.ptidej.net/publications/documents/ICSM09.doc.pdf},
pdf = {http://www.ptidej.net/publications/documents/ICSM09.ppt.pdf},
pages = {83--92}
}
Downloads: 0
{"_id":"HaJPaTdaatzam2dZz","bibbaseid":"khomh-guhneuc-antoniol-playingrolesindesignpatternsanempiricaldescriptiveandanalyticstudy-2009","downloads":0,"creationDate":"2018-01-17T20:29:42.495Z","title":"Playing Roles in Design Patterns: An Empirical Descriptive and Analytic Study","author_short":["Khomh, F.","Guéhéneuc, Y.","Antoniol, G."],"year":2009,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene (automatically cleaned).bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Foutse"],"propositions":[],"lastnames":["Khomh"],"suffixes":[]},{"firstnames":["Yann-Gaël"],"propositions":[],"lastnames":["Guéhéneuc"],"suffixes":[]},{"firstnames":["Giuliano"],"propositions":[],"lastnames":["Antoniol"],"suffixes":[]}],"title":"Playing Roles in Design Patterns: An Empirical Descriptive and Analytic Study","booktitle":"Proceedings of the 25<sup>th</sup> International Conference on Software Maintenance (ICSM)","year":"2009","month":"September","editor":[{"firstnames":["Kostas"],"propositions":[],"lastnames":["Kontogiannis"],"suffixes":[]},{"firstnames":["Tao"],"propositions":[],"lastnames":["Xie"],"suffixes":[]}],"publisher":"IEEE CS Press","note":"10 pages.","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) playing roles in design patterns is not a all-or-nothing characteristic of classes and that there are significant differences among the (2) internal and (3) external 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 as they see fit.","grant":"NSERC DG","keywords":"Design patterns ; ICSM","kind":"MISA","language":"english","url":"http://www.ptidej.net/publications/documents/ICSM09.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/ICSM09.ppt.pdf","pages":"83–92","bibtex":"@INPROCEEDINGS{Khomh09-ICSM-DPRoles,\n author = {Foutse Khomh and Yann-Ga{\\\"e}l Gu{\\'e}h{\\'e}neuc and Giuliano Antoniol},\n title = {Playing Roles in Design Patterns: An Empirical Descriptive and Analytic Study},\n booktitle = {Proceedings of the 25<sup>{th}</sup> International Conference on Software Maintenance ({ICSM})},\n year = {2009},\n month = {September},\n editor = {Kostas Kontogiannis and Tao Xie},\n publisher = {IEEE CS Press},\n note = {10 pages.},\n 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) playing roles in design patterns is not a all-or-nothing characteristic of classes and that there are significant differences among the (2) internal and (3) external 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 as they see fit.},\n grant = {NSERC DG},\n keywords = {Design patterns ; ICSM},\n kind = {MISA},\n language = {english},\n url = {http://www.ptidej.net/publications/documents/ICSM09.doc.pdf},\n pdf = {http://www.ptidej.net/publications/documents/ICSM09.ppt.pdf},\n pages = {83--92}\n}\n\n","author_short":["Khomh, F.","Guéhéneuc, Y.","Antoniol, G."],"editor_short":["Kontogiannis, K.","Xie, T."],"key":"Khomh09-ICSM-DPRoles","id":"Khomh09-ICSM-DPRoles","bibbaseid":"khomh-guhneuc-antoniol-playingrolesindesignpatternsanempiricaldescriptiveandanalyticstudy-2009","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/ICSM09.doc.pdf"},"keyword":["Design patterns ; ICSM"],"metadata":{"authorlinks":{"gu�h�neuc, y":"https://bibbase.org/show?bib=http%3A%2F%2Fwww.yann-gael.gueheneuc.net%2FWork%2FPublications%2FBiblio%2Fcomplete-bibliography.bib&msg=embed","guéhéneuc, y":"https://bibbase.org/show?bib=http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene%20(automatically%20cleaned).bib"}},"downloads":0,"html":""},"search_terms":["playing","roles","design","patterns","empirical","descriptive","analytic","study","khomh","guéhéneuc","antoniol"],"keywords":["design patterns ; icsm"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}