Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects. Guéhéneuc, Y. & Albin-Amiot, H. In Li, Q., Riehle, R., Pour, G., & Meyer, B., editors, Proceedings of the 39<sup>th</sup> Conference on the Technology of Object-Oriented Languages and Systems (TOOLS USA), pages 296–305, July, 2001. IEEE CS Press. 10 pages.Paper abstract bibtex Developing code free of defects is a major concern for the object-oriented software community. In this paper, we classify design defects as those within classes (intra-class), those among classes (inter-classes), and those of semantic nature (behavioral). Then, we introduce guidelines to automate the detection and correction of inter-class design defects: We assume that design patterns embody good architectural solutions and that a group of entities with organization similar, but not equal, to a design pattern represents an inter-class design defect. Thus, the transformation of such a group of entities, such that its organization complies exactly with a design pattern, corresponds to the correction of an inter-class design defect. We use a meta-model to describe design patterns and we exploit the descriptions to infer sets of detection and transformation rules. A constraints solver with explanations uses the descriptions and rules to recognize groups of entities with organizations similar to the described design patterns. A transformation engine modifies the source code to comply with the recognized distorted design patterns. We apply these guidelines on the \ygg@patternComposite pattern using \ygg@productPtidej, our prototype tool that integrates the complete guidelines.
@INPROCEEDINGS{Gueheneuc01-TOOLSUSA-DesignDefects,
author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Herv{\'e} Albin-Amiot},
title = {Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects},
booktitle = {Proceedings of the 39<sup>{th}</sup> Conference on the Technology of Object-Oriented Languages and Systems ({TOOLS USA})},
year = {2001},
month = {July},
editor = {Quioyun Li and Richard Riehle and Gilda Pour and Bertrand Meyer},
publisher = {IEEE CS Press},
note = {10 pages.},
abstract = {Developing code free of defects is a major concern for the object-oriented software community. In this paper, we classify design defects as those within classes (\textit{intra-class}), those among classes (\textit{inter-classes}), and those of semantic nature (\textit{behavioral}). Then, we introduce guidelines to automate the detection and correction of inter-class design defects: We assume that design patterns embody good architectural solutions and that a group of entities with organization similar, but not equal, to a design pattern represents an inter-class design defect. Thus, the transformation of such a group of entities, such that its organization complies exactly with a design pattern, corresponds to the correction of an inter-class design defect. We use a meta-model to describe design patterns and we exploit the descriptions to infer sets of detection and transformation rules. A constraints solver with explanations uses the descriptions and rules to recognize groups of entities with organizations similar to the described design patterns. A transformation engine modifies the source code to comply with the recognized distorted design patterns. We apply these guidelines on the \ygg@pattern{Composite} pattern using \ygg@product{Ptidej}, our prototype tool that integrates the complete guidelines.},
grant = {\ygg@company{Object Technology International, Inc.}},
keywords = {Code and design smells ; TOOLS USA},
kind = {MISA},
language = {english},
url = {http://www.ptidej.net/publications/documents/TOOLSUSA01.doc.pdf},
pdf = {http://www.ptidej.net/publications/documents/TOOLSUSA01.ppt.pdf},
pages = {296--305}
}
Downloads: 0
{"_id":"kuWJRncEsEzAJXLXo","bibbaseid":"guhneuc-albinamiot-usingdesignpatternsandconstraintstoautomatethedetectionandcorrectionofinterclassdesigndefects-2001","downloads":0,"creationDate":"2018-01-17T20:29:42.626Z","title":"Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects","author_short":["Guéhéneuc, Y.","Albin-Amiot, H."],"year":2001,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene (automatically cleaned).bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Yann-Gaël"],"propositions":[],"lastnames":["Guéhéneuc"],"suffixes":[]},{"firstnames":["Hervé"],"propositions":[],"lastnames":["Albin-Amiot"],"suffixes":[]}],"title":"Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects","booktitle":"Proceedings of the 39<sup>th</sup> Conference on the Technology of Object-Oriented Languages and Systems (TOOLS USA)","year":"2001","month":"July","editor":[{"firstnames":["Quioyun"],"propositions":[],"lastnames":["Li"],"suffixes":[]},{"firstnames":["Richard"],"propositions":[],"lastnames":["Riehle"],"suffixes":[]},{"firstnames":["Gilda"],"propositions":[],"lastnames":["Pour"],"suffixes":[]},{"firstnames":["Bertrand"],"propositions":[],"lastnames":["Meyer"],"suffixes":[]}],"publisher":"IEEE CS Press","note":"10 pages.","abstract":"Developing code free of defects is a major concern for the object-oriented software community. In this paper, we classify design defects as those within classes (<i>intra-class</i>), those among classes (<i>inter-classes</i>), and those of semantic nature (<i>behavioral</i>). Then, we introduce guidelines to automate the detection and correction of inter-class design defects: We assume that design patterns embody good architectural solutions and that a group of entities with organization similar, but not equal, to a design pattern represents an inter-class design defect. Thus, the transformation of such a group of entities, such that its organization complies exactly with a design pattern, corresponds to the correction of an inter-class design defect. We use a meta-model to describe design patterns and we exploit the descriptions to infer sets of detection and transformation rules. A constraints solver with explanations uses the descriptions and rules to recognize groups of entities with organizations similar to the described design patterns. A transformation engine modifies the source code to comply with the recognized distorted design patterns. We apply these guidelines on the \\ygg@patternComposite pattern using \\ygg@productPtidej, our prototype tool that integrates the complete guidelines.","grant":"\\ygg@companyObject Technology International, Inc.","keywords":"Code and design smells ; TOOLS USA","kind":"MISA","language":"english","url":"http://www.ptidej.net/publications/documents/TOOLSUSA01.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/TOOLSUSA01.ppt.pdf","pages":"296–305","bibtex":"@INPROCEEDINGS{Gueheneuc01-TOOLSUSA-DesignDefects,\n author = {Yann-Ga{\\\"e}l Gu{\\'e}h{\\'e}neuc and Herv{\\'e} Albin-Amiot},\n title = {Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects},\n booktitle = {Proceedings of the 39<sup>{th}</sup> Conference on the Technology of Object-Oriented Languages and Systems ({TOOLS USA})},\n year = {2001},\n month = {July},\n editor = {Quioyun Li and Richard Riehle and Gilda Pour and Bertrand Meyer},\n publisher = {IEEE CS Press},\n note = {10 pages.},\n abstract = {Developing code free of defects is a major concern for the object-oriented software community. In this paper, we classify design defects as those within classes (\\textit{intra-class}), those among classes (\\textit{inter-classes}), and those of semantic nature (\\textit{behavioral}). Then, we introduce guidelines to automate the detection and correction of inter-class design defects: We assume that design patterns embody good architectural solutions and that a group of entities with organization similar, but not equal, to a design pattern represents an inter-class design defect. Thus, the transformation of such a group of entities, such that its organization complies exactly with a design pattern, corresponds to the correction of an inter-class design defect. We use a meta-model to describe design patterns and we exploit the descriptions to infer sets of detection and transformation rules. A constraints solver with explanations uses the descriptions and rules to recognize groups of entities with organizations similar to the described design patterns. A transformation engine modifies the source code to comply with the recognized distorted design patterns. We apply these guidelines on the \\ygg@pattern{Composite} pattern using \\ygg@product{Ptidej}, our prototype tool that integrates the complete guidelines.},\n grant = {\\ygg@company{Object Technology International, Inc.}},\n keywords = {Code and design smells ; TOOLS USA},\n kind = {MISA},\n language = {english},\n url = {http://www.ptidej.net/publications/documents/TOOLSUSA01.doc.pdf},\n pdf = {http://www.ptidej.net/publications/documents/TOOLSUSA01.ppt.pdf},\n pages = {296--305}\n}\n\n","author_short":["Guéhéneuc, Y.","Albin-Amiot, H."],"editor_short":["Li, Q.","Riehle, R.","Pour, G.","Meyer, B."],"key":"Gueheneuc01-TOOLSUSA-DesignDefects","id":"Gueheneuc01-TOOLSUSA-DesignDefects","bibbaseid":"guhneuc-albinamiot-usingdesignpatternsandconstraintstoautomatethedetectionandcorrectionofinterclassdesigndefects-2001","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/TOOLSUSA01.doc.pdf"},"keyword":["Code and design smells ; TOOLS USA"],"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":["using","design","patterns","constraints","automate","detection","correction","inter","class","design","defects","guéhéneuc","albin-amiot"],"keywords":["code and design smells ; tools usa"],"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"]}