Detection of REST Patterns and Antipatterns: A Heuristics-based Approach. Palma, F., Dubois, J., Moha, N., & Guéhéneuc, Y. In Franch, X., Ghose, A., & Lewis, G., editors, Proceedings of the 12<sup>th</sup> International Conference on Service Oriented Computing (ICSOC), pages 230–244, November, 2014. Springer. 15 pages.Paper abstract bibtex \textttREST (REpresentational State Transfer), relying on resources as its architectural unit, is currently a popular architectural choice for building Web-based applications. It is shown that design patterns—good solutions to recurring design problems—improve the design quality and facilitate maintenance and evolution of software systems. Antipatterns, on the other hand, are poor and counter-productive solutions. Therefore, the detection of \textttREST (anti)patterns is essential for improving the maintenance and evolution of \textttRESTful systems. Until now, however, no approach has been proposed. In this paper, we propose \textttSODA-R (Service Oriented Detection for Antipatterns in \textttREST), a heuristics-based approach to detect (anti)patterns in \textttRESTful systems. We define detection heuristics for eight \textttREST antipatterns and five patterns, and perform their detection on a set of 12 widely-used \textttREST \textttAPIs including BestBuy, Facebook, and DropBox. The results show that \textttSODA-R can perform the detection of \textttREST (anti)patterns with high accuracy. We also found that Twitter, DropBox, and Alchemy are not well-designed, \emphi.e., contain more antipatterns. In contrast, Facebook, BestBuy, and YouTube are well-designed, \emphi.e., contain more patterns and less antipatterns.
@INPROCEEDINGS{Palma14-ICSOC-SOAAntiPatternsWebServices,
author = {Francis Palma and Johann Dubois and Naouel Moha and Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc},
title = {Detection of {REST} Patterns and Antipatterns: A Heuristics-based Approach},
booktitle = {Proceedings of the 12<sup>{th}</sup> International Conference on Service Oriented Computing ({ICSOC})},
year = {2014},
month = {November},
editor = {Xavier Franch and Aditya Ghose and Grace Lewis},
publisher = {Springer},
note = {15 pages.},
abstract = {\texttt{REST} (REpresentational State Transfer), relying on \textit{resources} as its architectural unit, is currently a popular architectural choice for building Web-based applications. It is shown that \textit{design patterns}---good solutions to recurring design problems---improve the design quality and facilitate maintenance and evolution of software systems. \textit{Antipatterns}, on the other hand, are poor and counter-productive solutions. Therefore, the detection of \texttt{REST} (anti)patterns is essential for improving the maintenance and evolution of \texttt{RESTful} systems. Until now, however, no approach has been proposed. In this paper, we propose \texttt{SODA-R} (Service Oriented Detection for Antipatterns in \texttt{REST}), a heuristics-based approach to detect (anti)patterns in \texttt{RESTful} systems. We define detection heuristics for eight \texttt{REST} antipatterns and five patterns, and perform their detection on a set of 12 widely-used \texttt{REST} \texttt{APIs} including BestBuy, Facebook, and DropBox. The results show that \texttt{SODA-R} can perform the detection of \texttt{REST} (anti)patterns with high accuracy. We also found that Twitter, DropBox, and Alchemy are not well-designed, \emph{i.e.}, contain more antipatterns. In contrast, Facebook, BestBuy, and YouTube are well-designed, \emph{i.e.}, contain more patterns and less antipatterns.},
grant = {NSERC DG and CRC on Software Patterns},
keywords = {Code and design smells ; ICSOC},
kind = {MISA},
language = {english},
url = {http://www.ptidej.net/publications/documents/ICSOC14.doc.pdf},
pdf = {http://www.ptidej.net/publications/documents/ICSOC14.ppt.pdf},
pages = {230--244}
}
Downloads: 0
{"_id":"C2dygZmHsJRFyoq4n","bibbaseid":"palma-dubois-moha-guhneuc-detectionofrestpatternsandantipatternsaheuristicsbasedapproach-2014","downloads":0,"creationDate":"2018-01-17T20:29:42.282Z","title":"Detection of REST Patterns and Antipatterns: A Heuristics-based Approach","author_short":["Palma, F.","Dubois, J.","Moha, N.","Guéhéneuc, Y."],"year":2014,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene (automatically cleaned).bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Francis"],"propositions":[],"lastnames":["Palma"],"suffixes":[]},{"firstnames":["Johann"],"propositions":[],"lastnames":["Dubois"],"suffixes":[]},{"firstnames":["Naouel"],"propositions":[],"lastnames":["Moha"],"suffixes":[]},{"firstnames":["Yann-Gaël"],"propositions":[],"lastnames":["Guéhéneuc"],"suffixes":[]}],"title":"Detection of REST Patterns and Antipatterns: A Heuristics-based Approach","booktitle":"Proceedings of the 12<sup>th</sup> International Conference on Service Oriented Computing (ICSOC)","year":"2014","month":"November","editor":[{"firstnames":["Xavier"],"propositions":[],"lastnames":["Franch"],"suffixes":[]},{"firstnames":["Aditya"],"propositions":[],"lastnames":["Ghose"],"suffixes":[]},{"firstnames":["Grace"],"propositions":[],"lastnames":["Lewis"],"suffixes":[]}],"publisher":"Springer","note":"15 pages.","abstract":"\\textttREST (REpresentational State Transfer), relying on <i>resources</i> as its architectural unit, is currently a popular architectural choice for building Web-based applications. It is shown that <i>design patterns</i>—good solutions to recurring design problems—improve the design quality and facilitate maintenance and evolution of software systems. <i>Antipatterns</i>, on the other hand, are poor and counter-productive solutions. Therefore, the detection of \\textttREST (anti)patterns is essential for improving the maintenance and evolution of \\textttRESTful systems. Until now, however, no approach has been proposed. In this paper, we propose \\textttSODA-R (Service Oriented Detection for Antipatterns in \\textttREST), a heuristics-based approach to detect (anti)patterns in \\textttRESTful systems. We define detection heuristics for eight \\textttREST antipatterns and five patterns, and perform their detection on a set of 12 widely-used \\textttREST \\textttAPIs including BestBuy, Facebook, and DropBox. The results show that \\textttSODA-R can perform the detection of \\textttREST (anti)patterns with high accuracy. We also found that Twitter, DropBox, and Alchemy are not well-designed, \\emphi.e., contain more antipatterns. In contrast, Facebook, BestBuy, and YouTube are well-designed, \\emphi.e., contain more patterns and less antipatterns.","grant":"NSERC DG and CRC on Software Patterns","keywords":"Code and design smells ; ICSOC","kind":"MISA","language":"english","url":"http://www.ptidej.net/publications/documents/ICSOC14.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/ICSOC14.ppt.pdf","pages":"230–244","bibtex":"@INPROCEEDINGS{Palma14-ICSOC-SOAAntiPatternsWebServices,\n author = {Francis Palma and Johann Dubois and Naouel Moha and Yann-Ga{\\\"e}l Gu{\\'e}h{\\'e}neuc},\n title = {Detection of {REST} Patterns and Antipatterns: A Heuristics-based Approach},\n booktitle = {Proceedings of the 12<sup>{th}</sup> International Conference on Service Oriented Computing ({ICSOC})},\n year = {2014},\n month = {November},\n editor = {Xavier Franch and Aditya Ghose and Grace Lewis},\n publisher = {Springer},\n note = {15 pages.},\n abstract = {\\texttt{REST} (REpresentational State Transfer), relying on \\textit{resources} as its architectural unit, is currently a popular architectural choice for building Web-based applications. It is shown that \\textit{design patterns}---good solutions to recurring design problems---improve the design quality and facilitate maintenance and evolution of software systems. \\textit{Antipatterns}, on the other hand, are poor and counter-productive solutions. Therefore, the detection of \\texttt{REST} (anti)patterns is essential for improving the maintenance and evolution of \\texttt{RESTful} systems. Until now, however, no approach has been proposed. In this paper, we propose \\texttt{SODA-R} (Service Oriented Detection for Antipatterns in \\texttt{REST}), a heuristics-based approach to detect (anti)patterns in \\texttt{RESTful} systems. We define detection heuristics for eight \\texttt{REST} antipatterns and five patterns, and perform their detection on a set of 12 widely-used \\texttt{REST} \\texttt{APIs} including BestBuy, Facebook, and DropBox. The results show that \\texttt{SODA-R} can perform the detection of \\texttt{REST} (anti)patterns with high accuracy. We also found that Twitter, DropBox, and Alchemy are not well-designed, \\emph{i.e.}, contain more antipatterns. In contrast, Facebook, BestBuy, and YouTube are well-designed, \\emph{i.e.}, contain more patterns and less antipatterns.},\n grant = {NSERC DG and CRC on Software Patterns},\n keywords = {Code and design smells ; ICSOC},\n kind = {MISA},\n language = {english},\n url = {http://www.ptidej.net/publications/documents/ICSOC14.doc.pdf},\n pdf = {http://www.ptidej.net/publications/documents/ICSOC14.ppt.pdf},\n pages = {230--244}\n}\n\n","author_short":["Palma, F.","Dubois, J.","Moha, N.","Guéhéneuc, Y."],"editor_short":["Franch, X.","Ghose, A.","Lewis, G."],"key":"Palma14-ICSOC-SOAAntiPatternsWebServices","id":"Palma14-ICSOC-SOAAntiPatternsWebServices","bibbaseid":"palma-dubois-moha-guhneuc-detectionofrestpatternsandantipatternsaheuristicsbasedapproach-2014","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/ICSOC14.doc.pdf"},"keyword":["Code and design smells ; ICSOC"],"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":["detection","rest","patterns","antipatterns","heuristics","based","approach","palma","dubois","moha","guéhéneuc"],"keywords":["code and design smells ; icsoc"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}