A Mixed-method Approach to Recommend Corrections and Correct REST Antipatterns. Sabir, F., Gu�h�neuc, Y., Palma, F., Moha, N., Rasool, G., & Akhtar, H. Transactions on Software Engineering (TSE), 48(11):4319–4338, IEEE CS Press, October, 2021. 19 pages.
Paper abstract bibtex Many companies, e.g., Facebook and YouTube, use the REST architecture and provide REST APIs to their clients. Like any other software systems, REST APIs need maintenance and must evolve to improve and stay relevant. Antipatterns—poor design practices—hinder this maintenance and evolution. Although the literature defines many antipatterns and proposes approaches for their (automatic) detection, their correction did not receive much attention. Therefore, we apply a mixed-method approach to study REST APIs and REST antipatterns with the objectives to recommend corrections or, when possible, actually correct the REST antipatterns. Qualitatively, via case studies, we analyse the evolution of 11 REST APIs, including Facebook, Twitter, and YouTube, over six years. We detect occurrences of eight REST antipatterns in the years 2014, 2017, and 2020 in 17 versions of 11 REST APIs. Thus, we show that (1) REST APIs and antipatterns evolve over time and (2) developers seem to remove antipatterns. Qualitatively via a discourse analysis, we analyse developers' forums and report that developers are concerned with the occurrences of REST antipatterns and discuss corrections to these antipatterns. Following these qualitative studies, using an engineering-research approach, we propose the following novel and unique contributions: (1) we describe and compare the corrections of eight REST antipatterns from the academic literature and from developers' forums; (2) we devise and describe algorithms to recommend corrections to some of these antipatterns; (3) we present algorithms and a tool to correct some of these antipatterns by intercepting and modifying responses from REST APIs; and, (4) we validate the recommendations and the corrections manually and via a survey answered by 24 REST developers. Thus, we propose to REST API developers and researchers the first, grounded approach to correct REST antipatterns.
@ARTICLE{Sabir21-TSE-RESTAPCorrections,
AUTHOR = {Fatima Sabir and Yann-Ga�l Gu�h�neuc and Francis Palma and
Naouel Moha and Ghulam Rasool and Hassan Akhtar},
JOURNAL = {Transactions on Software Engineering (TSE)},
TITLE = {A Mixed-method Approach to Recommend Corrections and
Correct REST Antipatterns},
YEAR = {2021},
MONTH = {October},
NOTE = {19 pages.},
NUMBER = {11},
PAGES = {4319–4338},
VOLUME = {48},
EDITOR = {Emerson Murphy-Hill},
KEYWORDS = {Topic: <b>Code and design smells</b>,
Rubrique : <b>mauvaises pratiques</b>, Journal: <b>TSE</b>},
PUBLISHER = {IEEE CS Press},
URL = {http://www.ptidej.net/publications/documents/TSE21.doc.pdf},
ABSTRACT = {Many companies, e.g., Facebook and YouTube, use the REST
architecture and provide REST APIs to their clients. Like any other
software systems, REST APIs need maintenance and must evolve to
improve and stay relevant. Antipatterns—poor design
practices—hinder this maintenance and evolution. Although the
literature defines many antipatterns and proposes approaches for
their (automatic) detection, their correction did not receive much
attention. Therefore, we apply a mixed-method approach to study REST
APIs and REST antipatterns with the objectives to recommend
corrections or, when possible, actually correct the REST
antipatterns. Qualitatively, via case studies, we analyse the
evolution of 11 REST APIs, including Facebook, Twitter, and YouTube,
over six years. We detect occurrences of eight REST antipatterns in
the years 2014, 2017, and 2020 in 17 versions of 11 REST APIs. Thus,
we show that (1) REST APIs and antipatterns evolve over time and (2)
developers seem to remove antipatterns. Qualitatively via a discourse
analysis, we analyse developers' forums and report that developers
are concerned with the occurrences of REST antipatterns and discuss
corrections to these antipatterns. Following these qualitative
studies, using an engineering-research approach, we propose the
following novel and unique contributions: (1) we describe and compare
the corrections of eight REST antipatterns from the academic
literature and from developers' forums; (2) we devise and describe
algorithms to recommend corrections to some of these antipatterns;
(3) we present algorithms and a tool to correct some of these
antipatterns by intercepting and modifying responses from REST APIs;
and, (4) we validate the recommendations and the corrections manually
and via a survey answered by 24 REST developers. Thus, we propose to
REST API developers and researchers the first, grounded approach to
correct REST antipatterns.}
}
Downloads: 0
{"_id":"Bj3d4R7CF3fw3fpxp","bibbaseid":"sabir-guhneuc-palma-moha-rasool-akhtar-amixedmethodapproachtorecommendcorrectionsandcorrectrestantipatterns-2021","author_short":["Sabir, F.","Gu�h�neuc, Y.","Palma, F.","Moha, N.","Rasool, G.","Akhtar, H."],"bibdata":{"bibtype":"article","type":"article","author":[{"firstnames":["Fatima"],"propositions":[],"lastnames":["Sabir"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]},{"firstnames":["Francis"],"propositions":[],"lastnames":["Palma"],"suffixes":[]},{"firstnames":["Naouel"],"propositions":[],"lastnames":["Moha"],"suffixes":[]},{"firstnames":["Ghulam"],"propositions":[],"lastnames":["Rasool"],"suffixes":[]},{"firstnames":["Hassan"],"propositions":[],"lastnames":["Akhtar"],"suffixes":[]}],"journal":"Transactions on Software Engineering (TSE)","title":"A Mixed-method Approach to Recommend Corrections and Correct REST Antipatterns","year":"2021","month":"October","note":"19 pages.","number":"11","pages":"4319–4338","volume":"48","editor":[{"firstnames":["Emerson"],"propositions":[],"lastnames":["Murphy-Hill"],"suffixes":[]}],"keywords":"Topic: <b>Code and design smells</b>, Rubrique : <b>mauvaises pratiques</b>, Journal: <b>TSE</b>","publisher":"IEEE CS Press","url":"http://www.ptidej.net/publications/documents/TSE21.doc.pdf","abstract":"Many companies, e.g., Facebook and YouTube, use the REST architecture and provide REST APIs to their clients. Like any other software systems, REST APIs need maintenance and must evolve to improve and stay relevant. Antipatterns—poor design practices—hinder this maintenance and evolution. Although the literature defines many antipatterns and proposes approaches for their (automatic) detection, their correction did not receive much attention. Therefore, we apply a mixed-method approach to study REST APIs and REST antipatterns with the objectives to recommend corrections or, when possible, actually correct the REST antipatterns. Qualitatively, via case studies, we analyse the evolution of 11 REST APIs, including Facebook, Twitter, and YouTube, over six years. We detect occurrences of eight REST antipatterns in the years 2014, 2017, and 2020 in 17 versions of 11 REST APIs. Thus, we show that (1) REST APIs and antipatterns evolve over time and (2) developers seem to remove antipatterns. Qualitatively via a discourse analysis, we analyse developers' forums and report that developers are concerned with the occurrences of REST antipatterns and discuss corrections to these antipatterns. Following these qualitative studies, using an engineering-research approach, we propose the following novel and unique contributions: (1) we describe and compare the corrections of eight REST antipatterns from the academic literature and from developers' forums; (2) we devise and describe algorithms to recommend corrections to some of these antipatterns; (3) we present algorithms and a tool to correct some of these antipatterns by intercepting and modifying responses from REST APIs; and, (4) we validate the recommendations and the corrections manually and via a survey answered by 24 REST developers. Thus, we propose to REST API developers and researchers the first, grounded approach to correct REST antipatterns.","bibtex":"@ARTICLE{Sabir21-TSE-RESTAPCorrections,\r\n AUTHOR = {Fatima Sabir and Yann-Ga�l Gu�h�neuc and Francis Palma and \r\n Naouel Moha and Ghulam Rasool and Hassan Akhtar},\r\n JOURNAL = {Transactions on Software Engineering (TSE)},\r\n TITLE = {A Mixed-method Approach to Recommend Corrections and \r\n Correct REST Antipatterns},\r\n YEAR = {2021},\r\n MONTH = {October},\r\n NOTE = {19 pages.},\r\n NUMBER = {11},\r\n PAGES = {4319–4338},\r\n VOLUME = {48},\r\n EDITOR = {Emerson Murphy-Hill},\r\n KEYWORDS = {Topic: <b>Code and design smells</b>, \r\n Rubrique : <b>mauvaises pratiques</b>, Journal: <b>TSE</b>},\r\n PUBLISHER = {IEEE CS Press},\r\n URL = {http://www.ptidej.net/publications/documents/TSE21.doc.pdf},\r\n ABSTRACT = {Many companies, e.g., Facebook and YouTube, use the REST \r\n architecture and provide REST APIs to their clients. Like any other \r\n software systems, REST APIs need maintenance and must evolve to \r\n improve and stay relevant. Antipatterns—poor design \r\n practices—hinder this maintenance and evolution. Although the \r\n literature defines many antipatterns and proposes approaches for \r\n their (automatic) detection, their correction did not receive much \r\n attention. Therefore, we apply a mixed-method approach to study REST \r\n APIs and REST antipatterns with the objectives to recommend \r\n corrections or, when possible, actually correct the REST \r\n antipatterns. Qualitatively, via case studies, we analyse the \r\n evolution of 11 REST APIs, including Facebook, Twitter, and YouTube, \r\n over six years. We detect occurrences of eight REST antipatterns in \r\n the years 2014, 2017, and 2020 in 17 versions of 11 REST APIs. Thus, \r\n we show that (1) REST APIs and antipatterns evolve over time and (2) \r\n developers seem to remove antipatterns. Qualitatively via a discourse \r\n analysis, we analyse developers' forums and report that developers \r\n are concerned with the occurrences of REST antipatterns and discuss \r\n corrections to these antipatterns. Following these qualitative \r\n studies, using an engineering-research approach, we propose the \r\n following novel and unique contributions: (1) we describe and compare \r\n the corrections of eight REST antipatterns from the academic \r\n literature and from developers' forums; (2) we devise and describe \r\n algorithms to recommend corrections to some of these antipatterns; \r\n (3) we present algorithms and a tool to correct some of these \r\n antipatterns by intercepting and modifying responses from REST APIs; \r\n and, (4) we validate the recommendations and the corrections manually \r\n and via a survey answered by 24 REST developers. Thus, we propose to \r\n REST API developers and researchers the first, grounded approach to \r\n correct REST antipatterns.}\r\n}\r\n\r\n","author_short":["Sabir, F.","Gu�h�neuc, Y.","Palma, F.","Moha, N.","Rasool, G.","Akhtar, H."],"editor_short":["Murphy-Hill, E."],"key":"Sabir21-TSE-RESTAPCorrections","id":"Sabir21-TSE-RESTAPCorrections","bibbaseid":"sabir-guhneuc-palma-moha-rasool-akhtar-amixedmethodapproachtorecommendcorrectionsandcorrectrestantipatterns-2021","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/TSE21.doc.pdf"},"keyword":["Topic: <b>Code and design smells</b>","Rubrique : <b>mauvaises pratiques</b>","Journal: <b>TSE</b>"],"metadata":{"authorlinks":{}}},"bibtype":"article","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","dataSources":["8vn5MSGYWB4fAx9Z4"],"keywords":["topic: <b>code and design smells</b>","rubrique : <b>mauvaises pratiques</b>","journal: <b>tse</b>"],"search_terms":["mixed","method","approach","recommend","corrections","correct","rest","antipatterns","sabir","gu�h�neuc","palma","moha","rasool","akhtar"],"title":"A Mixed-method Approach to Recommend Corrections and Correct REST Antipatterns","year":2021}