An Empirical Descriptive and Analytic Study of Playing Roles in Design Patterns. Khomh, F., Gu�h�neuc, Y., & Antoniol, G. Technical Report EPM-RT-2009-03, �cole Polytechnique de Montr�al, April, 2009. 15 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.
@TECHREPORT{Khomh09-TR-DesignPatternsRoles,
AUTHOR = {Foutse Khomh and Yann-Ga�l Gu�h�neuc and
Guiliano Antoniol},
INSTITUTION = {�cole Polytechnique de Montr�al},
TITLE = {An Empirical Descriptive and Analytic Study of Playing
Roles in Design Patterns},
YEAR = {2009},
OPTADDRESS = {},
MONTH = {April},
NOTE = {15 pages.},
NUMBER = {EPM-RT-2009-03},
OPTTYPE = {},
KEYWORDS = {Topic: <b>Design patterns</b>,
Topic: <b>Evolution patterns</b>},
URL = {http://www.ptidej.net/publications/documents/Research+report+Design+Patterns+Roles+April09.doc.pdf},
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.}
}
Downloads: 0
{"_id":"icu8zvuyDj6tAZiDn","bibbaseid":"khomh-guhneuc-antoniol-anempiricaldescriptiveandanalyticstudyofplayingrolesindesignpatterns-2009","downloads":0,"creationDate":"2018-01-17T20:29:42.501Z","title":"An Empirical Descriptive and Analytic Study of Playing Roles in Design Patterns","author_short":["Khomh, F.","Gu�h�neuc, Y.","Antoniol, G."],"year":2009,"bibtype":"techreport","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","bibdata":{"bibtype":"techreport","type":"techreport","author":[{"firstnames":["Foutse"],"propositions":[],"lastnames":["Khomh"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]},{"firstnames":["Guiliano"],"propositions":[],"lastnames":["Antoniol"],"suffixes":[]}],"institution":"�cole Polytechnique de Montr�al","title":"An Empirical Descriptive and Analytic Study of Playing Roles in Design Patterns","year":"2009","optaddress":"","month":"April","note":"15 pages.","number":"EPM-RT-2009-03","opttype":"","keywords":"Topic: <b>Design patterns</b>, Topic: <b>Evolution patterns</b>","url":"http://www.ptidej.net/publications/documents/Research+report+Design+Patterns+Roles+April09.doc.pdf","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.","bibtex":"@TECHREPORT{Khomh09-TR-DesignPatternsRoles,\r\n AUTHOR = {Foutse Khomh and Yann-Ga�l Gu�h�neuc and \r\n Guiliano Antoniol},\r\n INSTITUTION = {�cole Polytechnique de Montr�al},\r\n TITLE = {An Empirical Descriptive and Analytic Study of Playing \r\n Roles in Design Patterns},\r\n YEAR = {2009},\r\n OPTADDRESS = {},\r\n MONTH = {April},\r\n NOTE = {15 pages.},\r\n NUMBER = {EPM-RT-2009-03},\r\n OPTTYPE = {},\r\n KEYWORDS = {Topic: <b>Design patterns</b>, \r\n Topic: <b>Evolution patterns</b>},\r\n URL = {http://www.ptidej.net/publications/documents/Research+report+Design+Patterns+Roles+April09.doc.pdf},\r\n ABSTRACT = {This work presents a descriptive and analytic study of \r\n classes playing zero, one, or two roles in six different design \r\n patterns (and combinations thereof). First, we answer three research \r\n questions showing that (1) playing roles in design patterns is not a \r\n all-or-nothing characteristic of classes and that there are \r\n significant differences among the (2) internal and (3) external \r\n characteristics of classes playing zero, one, or two roles. Second, \r\n we revisit a previous work on design patterns and changeability and \r\n show that its results were, in a great part, due to classes playing \r\n two roles. Third, we exemplify the use of the study results to \r\n provide a ranking of the occurrences of the design patterns \r\n identified in a program. The ranking allows developers to balance \r\n precision and recall as they see fit.}\r\n}\r\n\r\n","author_short":["Khomh, F.","Gu�h�neuc, Y.","Antoniol, G."],"key":"Khomh09-TR-DesignPatternsRoles","id":"Khomh09-TR-DesignPatternsRoles","bibbaseid":"khomh-guhneuc-antoniol-anempiricaldescriptiveandanalyticstudyofplayingrolesindesignpatterns-2009","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/Research+report+Design+Patterns+Roles+April09.doc.pdf"},"keyword":["Topic: <b>Design patterns</b>","Topic: <b>Evolution patterns</b>"],"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},"search_terms":["empirical","descriptive","analytic","study","playing","roles","design","patterns","khomh","gu�h�neuc","antoniol"],"keywords":["topic: <b>design patterns</b>","topic: <b>evolution patterns</b>"],"authorIDs":["2tFXMaTSHJKEB5ebi","2wY5eBcsYmbPNfmMS","36dm7jaw5EK5Wrr4D","3NxaNKic3nkXi568L","3S5Dkpx7DNefzJrnf","3afmfmoPr4SHa8B5F","3wmHB7JoQbQz2ujun","4YBWWbao6RKgiyGJE","4jZj9tB4SJ8zEEgHk","5CvA2hsaib2bPMaef","5TFJbxqRDGFj2P8Rg","5a5fb236a39f2c3645000032","5a8f17e006df23bc34000020","5cx79LBmaWcihgM4J","5de9a6425b51bcde01000042","5dee1197584fb4df010000fc","5df228a41e4fe9df0100012c","5df617f72b34d0de0100008b","5dfa14782e791dde010000ea","5dfe3d5e68d95dde01000080","5e02525b6ffa15df0100009f","5e0662c07da1d1de0100021a","5e093e8b934cacdf0100008b","5e0a61673eccf6e001000016","5e0b75b7e73cd6de010000f9","5e0d4ca6ae5827df0100007f","5e0ddf08552b25df01000137","5e0e5c41ac7d11df010000a3","5e1268e7a4cabfdf0100002c","5e12c45a70e2c4f201000043","5e157809f1f31adf01000006","5e162ca1df1bb4de01000123","5e185cff809b84f201000091","5e1a6c39b16ec5df0100000f","5e21b27e96aea7de01000084","5e22c57e49e2b4df0100000f","5e23c2aeb93b51de01000030","5e245835079bb2df0100007d","5e24fa3e2e79a1f201000027","5e26252f408641df01000161","5e26bfbd8535cedf0100005c","5e280fd1f860fcde0100006a","5e2a827f881468de01000080","5e2eb321b84405df01000128","5e2ef635e374eede0100001a","5e2fd6a74e91a9df01000010","5e3266bb5633c9de01000068","5e32ab0ee17accde0100012a","5e32bdec466076df010000d9","5e32d603150c84df01000068","5e34fb145978bef2010000a6","5e36bc8e7b975dde0100009a","5e389940030bcadf010001b4","5e39dd9a3687dddf010000a4","5e3ad173f2a00cdf01000206","5e3dcd50d51253de0100003d","5e3e8713666d79df010000a6","5e3ed80986a596de010000b9","5e3fefe1add5fbde01000087","5e409c79d668c6de010000c7","5e41795ed9f47bee01000194","5e41cd5be7c67ade010000eb","5e42ef1ca6f4a6f2010001eb","5e46dcb342fb31df01000113","5e46f12c461d04f201000078","5e478c9e27a0c8de010000ef","5e47fb06385298df010000b2","5e4add1941072bdf01000011","5e4c1c792dc400de0100011a","5e4c6262271596df010001b9","5e4f0360338acfde01000156","5e4f11b0e5389bde0100007e","5e530b976d68b8df010000a5","5e54ad6d929495df0100007c","5e57161b429006de0100005a","5e57839fcef9b7de0100003c","5e580f5a6a456fde0100004f","5e5afa78038583de010000f7","5e5b477174a3e7df010000b7","5e5d370173eb2edf01000038","5e5fca336b32b0f20100011b","5e60e7f0839e59df010000e8","5e6377cfae1c4dde0100011e","5e657007de41b9df0100017a","5e676f0910be53de0100001a","5gPbX6aQJFjpv2Na9","6eE2yRdMDQr2WGXuA","6iHE5tuM7yTfLd2pA","7BPWyvMr5e6bzbk7T","7RFwhpGkpZRsLwnmB","7amRA4ALcR2mksheF","7mkQL8eiftj5bGMzB","8jPjKehCMsj7ncvxN","8peLXfWtCSic5n7oz","95eRgTcabnJwF46f3","9Ba9JxkjQBCeGBZKg","9DjgvzQrx27uxbyJj","9HD56d3k5yrB9H9oq","9RtPuXNyeS3k8LM9J","9diLYpd8cMmjBh54T","9nx6Yv3XREwJDyRms","AfJhKcg96muyPdu7S","BGvchZsjW7Wejj9Cz","BYwdHpGr6xT5vmE5C","Bah6LM7GXdXTy8GGA","BmH2ytt7sXwPHcrse","CqJYxtqe6qBbtd5yz","D4kEZ2JcWCoMvRPy7","DFWW7D6Y7X57n4cbM","DSorPqHDfrFiNM5Ew","DWXisKXaQArvre3QL","DwBm6isMpKSHHkhAd","E88raoktD8ANF92Yu","EAjLox7ycbofcCXce","F8rzFhY9yWA7pBX4j","G3iynDKjz9BHJbrdg","GJw6mQETXADSCZuuk","GWK5669HLqPyYMQ5J","GibAXjj4xXdFT8qWh","HzFZpgGcfabjAp9x6","KJ4eYziy6hanF9kr9","Kcyu7uncEFiYzYP2D","N4zzhqcywSzDDYsdh","NCDg3xE2mPcNAu7LX","NvgbTAz3hZ9SevZvd","QbcDS3wK43sRASvgu","S3b7Bb9wwfpByQgbo","SXJaeFCgBDJ5HAHtj","T5nL8TGrggoLAF8Dj","W9vT8YcCNFEcp9mWQ","WZ5CpBEFNsb2ivfah","XxviSwRxhwgNwsraH","Z2Zs662GpXqKBEAMc","ZKYFgjHGm7PE4Y2kv","a5qpGirN3B5BLKdMh","ahGA65oGDChNYp7Mb","bA7pGCMS9AB2RBo2p","bTQb3TcrbBShtqFPS","cYnqisf4wzBsM7MF5","cjHpaYiWD5eX7btH4","ckrbesqi3pWqfF2nP","dH8EsWHZtCFuQk5bq","dS5kvBMnk3LMQe56w","eXsFRMzE7WfbHbBL4","fmmsBu4m6ayKtuopf","hdXr3PD8cHNWyAdCe","hgZxckC87u2A57teF","juvCjffHJaPQf44im","keQBT2Apb9yaev8AH","myHdF8zARwW5uGmFs","nJLfaznnYgFqWQQrv","onghitNWSvN2FpCaN","osgPwDW2y5KDXRa2i","pAWFMDHu5dNixqPAq","pLvmgrCjMeDYJiJxB","q4azvWakEjp2TQM7S","qBee6Md9YwRKwkeW3","qQky2Csek4mroLn2P","tJz4YBCqAzZAzek5d","tLtjttw8dEqF6YQ4s","uQ6jCrPijzAmZyfXz","vGEaFNt7mm92Z7GXc","vRkMmE65HSFpCk6FW","vsEsf8FR3Fxb6z7fJ","x5ejzvDeXCc89Dukv","xEQyC5shxpYySSJJm","xhwDdvQ7MYxa6keXm","xkviMnkrGBneANvMr","y64rFMcyp7tDsBrJQ","yBYJWSShoKkMG8aPE","yQPghCwQv22kf6dFq","yd5sCxaEiu5vWizTq"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}