Identification of Behavioral and Creational Design Motifs through Dynamic Analysis. Ng, J. K., Gu�h�neuc, Y., & Antoniol, G. Journal of Software Maintenance and Evolution: Research and Practice (JSME), 22(8):597–627, Wiley, November, 2009. 30 pages.
Paper abstract bibtex Design patterns offer design motifs, solutions to object-oriented design problems. Design motifs lead to well-structured designs and thus are believed to ease software maintenance. However, after use, they are often ``lost" and are consequently of little help during program comprehension and other maintenance activities. Therefore, several works proposed design pattern identification approaches to recover occurrences of the motifs. These approaches mainly used the structure and organisation of classes as input. Consequently, they have a low precision when considering behavioural and creational motifs, which pertain to the assignment of responsibilities and the collaborations among objects at runtime. We propose MoDeC, an approach to describe behavioral and creational motifs as collaborations among objects in the form of scenario diagrams. We identify these motifs using dynamic analysis and constraint programming. Using a proof-of-concept implementation of MoDeC and different scenarios for five other Java programs and \textsfBuilder, \textsfCommand, and \textsfVisitor, we show that MoDeC has a better precision than a state-of-the-art static approaches.
@ARTICLE{KaYeeNg09-JSME-BehaviouralCreationalIdentification,
AUTHOR = {Janice Ka-Yee Ng and Yann-Ga�l Gu�h�neuc and
Giuliano Antoniol},
JOURNAL = {Journal of Software Maintenance and Evolution: Research and Practice (JSME)},
TITLE = {Identification of Behavioral and Creational Design
Motifs through Dynamic Analysis},
YEAR = {2009},
MONTH = {November},
NOTE = {30 pages.},
NUMBER = {8},
PAGES = {597--627},
VOLUME = {22},
EDITOR = {Maria Tortorella and Aniello Cimitile},
KEYWORDS = {Topic: <b>Design patterns</b>, Venue: <b>JSME</b>,
Venue: <b>JSEP</b>},
PUBLISHER = {Wiley},
URL = {http://www.ptidej.net/publications/documents/JSME09.doc.pdf},
ABSTRACT = {Design patterns offer design motifs, solutions to
object-oriented design problems. Design motifs lead to
well-structured designs and thus are believed to ease software
maintenance. However, after use, they are often ``lost" and are
consequently of little help during program comprehension and other
maintenance activities. Therefore, several works proposed design
pattern identification approaches to recover occurrences of the
motifs. These approaches mainly used the structure and organisation
of classes as input. Consequently, they have a low precision when
considering behavioural and creational motifs, which pertain to the
assignment of responsibilities and the collaborations among objects
at runtime. We propose MoDeC, an approach to describe behavioral and
creational motifs as collaborations among objects in the form of
scenario diagrams. We identify these motifs using dynamic analysis
and constraint programming. Using a proof-of-concept implementation
of MoDeC and different scenarios for five other Java{} programs and
\textsf{Builder}, \textsf{Command}, and \textsf{Visitor}, we show
that MoDeC has a better precision than a state-of-the-art static
approaches.}
}
Downloads: 0
{"_id":"YpZvmFmSpKCuwuoEJ","bibbaseid":"ng-guhneuc-antoniol-identificationofbehavioralandcreationaldesignmotifsthroughdynamicanalysis-2009","downloads":0,"creationDate":"2018-01-17T20:29:42.489Z","title":"Identification of Behavioral and Creational Design Motifs through Dynamic Analysis","author_short":["Ng, J. K.","Gu�h�neuc, Y.","Antoniol, G."],"year":2009,"bibtype":"article","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","bibdata":{"bibtype":"article","type":"article","author":[{"firstnames":["Janice","Ka-Yee"],"propositions":[],"lastnames":["Ng"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]},{"firstnames":["Giuliano"],"propositions":[],"lastnames":["Antoniol"],"suffixes":[]}],"journal":"Journal of Software Maintenance and Evolution: Research and Practice (JSME)","title":"Identification of Behavioral and Creational Design Motifs through Dynamic Analysis","year":"2009","month":"November","note":"30 pages.","number":"8","pages":"597–627","volume":"22","editor":[{"firstnames":["Maria"],"propositions":[],"lastnames":["Tortorella"],"suffixes":[]},{"firstnames":["Aniello"],"propositions":[],"lastnames":["Cimitile"],"suffixes":[]}],"keywords":"Topic: <b>Design patterns</b>, Venue: <b>JSME</b>, Venue: <b>JSEP</b>","publisher":"Wiley","url":"http://www.ptidej.net/publications/documents/JSME09.doc.pdf","abstract":"Design patterns offer design motifs, solutions to object-oriented design problems. Design motifs lead to well-structured designs and thus are believed to ease software maintenance. However, after use, they are often ``lost\" and are consequently of little help during program comprehension and other maintenance activities. Therefore, several works proposed design pattern identification approaches to recover occurrences of the motifs. These approaches mainly used the structure and organisation of classes as input. Consequently, they have a low precision when considering behavioural and creational motifs, which pertain to the assignment of responsibilities and the collaborations among objects at runtime. We propose MoDeC, an approach to describe behavioral and creational motifs as collaborations among objects in the form of scenario diagrams. We identify these motifs using dynamic analysis and constraint programming. Using a proof-of-concept implementation of MoDeC and different scenarios for five other Java programs and \\textsfBuilder, \\textsfCommand, and \\textsfVisitor, we show that MoDeC has a better precision than a state-of-the-art static approaches.","bibtex":"@ARTICLE{KaYeeNg09-JSME-BehaviouralCreationalIdentification,\r\n AUTHOR = {Janice Ka-Yee Ng and Yann-Ga�l Gu�h�neuc and \r\n Giuliano Antoniol},\r\n JOURNAL = {Journal of Software Maintenance and Evolution: Research and Practice (JSME)},\r\n TITLE = {Identification of Behavioral and Creational Design \r\n Motifs through Dynamic Analysis},\r\n YEAR = {2009},\r\n MONTH = {November},\r\n NOTE = {30 pages.},\r\n NUMBER = {8},\r\n PAGES = {597--627},\r\n VOLUME = {22},\r\n EDITOR = {Maria Tortorella and Aniello Cimitile},\r\n KEYWORDS = {Topic: <b>Design patterns</b>, Venue: <b>JSME</b>, \r\n Venue: <b>JSEP</b>},\r\n PUBLISHER = {Wiley},\r\n URL = {http://www.ptidej.net/publications/documents/JSME09.doc.pdf},\r\n ABSTRACT = {Design patterns offer design motifs, solutions to \r\n object-oriented design problems. Design motifs lead to \r\n well-structured designs and thus are believed to ease software \r\n maintenance. However, after use, they are often ``lost\" and are \r\n consequently of little help during program comprehension and other \r\n maintenance activities. Therefore, several works proposed design \r\n pattern identification approaches to recover occurrences of the \r\n motifs. These approaches mainly used the structure and organisation \r\n of classes as input. Consequently, they have a low precision when \r\n considering behavioural and creational motifs, which pertain to the \r\n assignment of responsibilities and the collaborations among objects \r\n at runtime. We propose MoDeC, an approach to describe behavioral and \r\n creational motifs as collaborations among objects in the form of \r\n scenario diagrams. We identify these motifs using dynamic analysis \r\n and constraint programming. Using a proof-of-concept implementation \r\n of MoDeC and different scenarios for five other Java{} programs and \r\n \\textsf{Builder}, \\textsf{Command}, and \\textsf{Visitor}, we show \r\n that MoDeC has a better precision than a state-of-the-art static \r\n approaches.}\r\n}\r\n\r\n","author_short":["Ng, J. K.","Gu�h�neuc, Y.","Antoniol, G."],"editor_short":["Tortorella, M.","Cimitile, A."],"key":"KaYeeNg09-JSME-BehaviouralCreationalIdentification","id":"KaYeeNg09-JSME-BehaviouralCreationalIdentification","bibbaseid":"ng-guhneuc-antoniol-identificationofbehavioralandcreationaldesignmotifsthroughdynamicanalysis-2009","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/JSME09.doc.pdf"},"keyword":["Topic: <b>Design patterns</b>","Venue: <b>JSME</b>","Venue: <b>JSEP</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":["identification","behavioral","creational","design","motifs","through","dynamic","analysis","ng","gu�h�neuc","antoniol"],"keywords":["topic: <b>design patterns</b>","venue: <b>jsme</b>","venue: <b>jsep</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"]}