Fingerprinting Design Patterns. Gu�h�neuc, Y., Sahraoui, H., & Zaidi, F. In Stroulia, E. & de Lucia, A., editors, Proceedings of the 11<sup>th</sup> Working Conference on Reverse Engineering (WCRE), pages 172–181, November, 2004. IEEE CS Press. 10 pages.
Paper abstract bibtex Design patterns describe \emphgood solutions to common and recurring problems in program design. The solutions are \emphdesign motifs which software engineers imitate and introduce in the architecture of their program. It is important to identify the design motifs used in a program architecture to understand solved design problems and to make informed changes to the program. The identification of \emphmicro-architectures similar to design motifs is difficult because of the large search space, ıe the many possible combinations of classes. We propose an experimental study of classes playing roles in design motifs using metrics and a machine learning algorithm to \emphfingerprint design motifs roles. Fingerprints are sets of metric values characterising classes playing a given role. We devise fingerprints experimentally using a repository of micro-architectures similar to design motifs. We show that fingerprints help in reducing the search space of micro-architectures similar to design motifs efficiently using the \ygg@patternComposite design motif and the \JHotDraw framework.
@INPROCEEDINGS{Gueheneuc04-WCRE-ClassFingerprinting,
AUTHOR = {Yann-Ga�l Gu�h�neuc and Houari Sahraoui and Farouk Zaidi},
BOOKTITLE = {Proceedings of the 11<sup>th</sup> Working Conference on Reverse Engineering (WCRE)},
TITLE = {Fingerprinting Design Patterns},
YEAR = {2004},
OPTADDRESS = {},
OPTCROSSREF = {},
EDITOR = {Eleni Stroulia and de Lucia, Andrea},
MONTH = {November},
NOTE = {10 pages.},
OPTNUMBER = {},
OPTORGANIZATION = {},
PAGES = {172--181},
PUBLISHER = {IEEE CS Press},
OPTSERIES = {},
OPTVOLUME = {},
KEYWORDS = {Topic: <b>Design patterns</b>, Venue: <c>WCRE</c>},
URL = {http://www.ptidej.net/publications/documents/WCRE04.doc.pdf},
PDF = {http://www.ptidej.net/publications/documents/WCRE04.ppt.pdf},
ABSTRACT = {Design patterns describe \emph{good} solutions to common
and recurring problems in program design. The solutions are
\emph{design motifs} which software engineers imitate and introduce
in the architecture of their program. It is important to identify the
design motifs used in a program architecture to understand solved
design problems and to make informed changes to the program. The
identification of \emph{micro-architectures} similar to design motifs
is difficult because of the large search space, \ie{} the many
possible combinations of classes. We propose an experimental study of
classes playing roles in design motifs using metrics and a machine
learning algorithm to \emph{fingerprint} design motifs roles.
Fingerprints are sets of metric values characterising classes playing
a given role. We devise fingerprints experimentally using a
repository of micro-architectures similar to design motifs. We show
that fingerprints help in reducing the search space of
micro-architectures similar to design motifs efficiently using the
\ygg@pattern{Composite} design motif and the \JHotDraw{} framework.}
}
Downloads: 0
{"_id":"kBoWmHCkpmGexL62B","bibbaseid":"guhneuc-sahraoui-zaidi-fingerprintingdesignpatterns-2004","downloads":0,"creationDate":"2018-01-17T20:29:42.599Z","title":"Fingerprinting Design Patterns","author_short":["Gu�h�neuc, Y.","Sahraoui, H.","Zaidi, F."],"year":2004,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]},{"firstnames":["Houari"],"propositions":[],"lastnames":["Sahraoui"],"suffixes":[]},{"firstnames":["Farouk"],"propositions":[],"lastnames":["Zaidi"],"suffixes":[]}],"booktitle":"Proceedings of the 11<sup>th</sup> Working Conference on Reverse Engineering (WCRE)","title":"Fingerprinting Design Patterns","year":"2004","optaddress":"","optcrossref":"","editor":[{"firstnames":["Eleni"],"propositions":[],"lastnames":["Stroulia"],"suffixes":[]},{"propositions":["de"],"lastnames":["Lucia"],"firstnames":["Andrea"],"suffixes":[]}],"month":"November","note":"10 pages.","optnumber":"","optorganization":"","pages":"172–181","publisher":"IEEE CS Press","optseries":"","optvolume":"","keywords":"Topic: <b>Design patterns</b>, Venue: <c>WCRE</c>","url":"http://www.ptidej.net/publications/documents/WCRE04.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/WCRE04.ppt.pdf","abstract":"Design patterns describe \\emphgood solutions to common and recurring problems in program design. The solutions are \\emphdesign motifs which software engineers imitate and introduce in the architecture of their program. It is important to identify the design motifs used in a program architecture to understand solved design problems and to make informed changes to the program. The identification of \\emphmicro-architectures similar to design motifs is difficult because of the large search space, ıe the many possible combinations of classes. We propose an experimental study of classes playing roles in design motifs using metrics and a machine learning algorithm to \\emphfingerprint design motifs roles. Fingerprints are sets of metric values characterising classes playing a given role. We devise fingerprints experimentally using a repository of micro-architectures similar to design motifs. We show that fingerprints help in reducing the search space of micro-architectures similar to design motifs efficiently using the \\ygg@patternComposite design motif and the \\JHotDraw framework.","bibtex":"@INPROCEEDINGS{Gueheneuc04-WCRE-ClassFingerprinting,\r\n AUTHOR = {Yann-Ga�l Gu�h�neuc and Houari Sahraoui and Farouk Zaidi},\r\n BOOKTITLE = {Proceedings of the 11<sup>th</sup> Working Conference on Reverse Engineering (WCRE)},\r\n TITLE = {Fingerprinting Design Patterns},\r\n YEAR = {2004},\r\n OPTADDRESS = {},\r\n OPTCROSSREF = {},\r\n EDITOR = {Eleni Stroulia and de Lucia, Andrea},\r\n MONTH = {November},\r\n NOTE = {10 pages.},\r\n OPTNUMBER = {},\r\n OPTORGANIZATION = {},\r\n PAGES = {172--181},\r\n PUBLISHER = {IEEE CS Press},\r\n OPTSERIES = {},\r\n OPTVOLUME = {},\r\n KEYWORDS = {Topic: <b>Design patterns</b>, Venue: <c>WCRE</c>},\r\n URL = {http://www.ptidej.net/publications/documents/WCRE04.doc.pdf},\r\n PDF = {http://www.ptidej.net/publications/documents/WCRE04.ppt.pdf},\r\n ABSTRACT = {Design patterns describe \\emph{good} solutions to common \r\n and recurring problems in program design. The solutions are \r\n \\emph{design motifs} which software engineers imitate and introduce \r\n in the architecture of their program. It is important to identify the \r\n design motifs used in a program architecture to understand solved \r\n design problems and to make informed changes to the program. The \r\n identification of \\emph{micro-architectures} similar to design motifs \r\n is difficult because of the large search space, \\ie{} the many \r\n possible combinations of classes. We propose an experimental study of \r\n classes playing roles in design motifs using metrics and a machine \r\n learning algorithm to \\emph{fingerprint} design motifs roles. \r\n Fingerprints are sets of metric values characterising classes playing \r\n a given role. We devise fingerprints experimentally using a \r\n repository of micro-architectures similar to design motifs. We show \r\n that fingerprints help in reducing the search space of \r\n micro-architectures similar to design motifs efficiently using the \r\n \\ygg@pattern{Composite} design motif and the \\JHotDraw{} framework.}\r\n}\r\n\r\n","author_short":["Gu�h�neuc, Y.","Sahraoui, H.","Zaidi, F."],"editor_short":["Stroulia, E.","de Lucia, A."],"key":"Gueheneuc04-WCRE-ClassFingerprinting","id":"Gueheneuc04-WCRE-ClassFingerprinting","bibbaseid":"guhneuc-sahraoui-zaidi-fingerprintingdesignpatterns-2004","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/WCRE04.doc.pdf"},"keyword":["Topic: <b>Design patterns</b>","Venue: <c>WCRE</c>"],"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":["fingerprinting","design","patterns","gu�h�neuc","sahraoui","zaidi"],"keywords":["topic: <b>design patterns</b>","venue: <c>wcre</c>"],"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"]}