A Lexical and Semantical Analysis on REST Cloud Computing APIs. Petrillo, F., Merle, P., Palma, F., Moha, N., & Gu�h�neuc, Y. In Ferguson, D., Mu�oz, V. M., Cardoso, J. S., Helfert, M., & Pahl, C., editors, Proceedings of the 8<sup>th</sup> International Conference on Cloud Computing and Services Science (CLOSER), pages 308–332, July, 2018. Springer. 24 pages.
Paper abstract bibtex Cloud computing is a popular Internet-based computing paradigm that provides on-demand computational services and resources, generally offered by Cloud providers' REpresentational State Transfer (REST) APIs. Developers use REST APIs by invoking these APIs by their names and, thus, the lexicons used in the APIs are important to ease the developers' comprehension. In this paper, we study the lexicons and the linguistic (anti)patterns from 16 providers of REST Cloud Computing APIs. We observe that, although the 16 REST APIs describe the same domain (Cloud computing), contrary to what one might expect, their lexicons do not share a large number of common terms and 90\NOof the terms (3,561/3,947) are just used by one provider. Thus, the APIs are lexically heterogeneous and there is not a consensus on which terms to use in Cloud computing. Further, we observe that the majority of the URIs, 54%, follow the Contextualised Resource Names pattern, which is considered a good practice in REST API design. However, a majority of the URIs, 62.82%, suffer from the Non-pertinent Documentation antipattern. Thus, we present three main contributions: 1) a tooled approach, called CloudLex, for extracting and analysing REST Cloud computing lexicons; 2) our analysis of the terms used in 16 REST APIs in 59,677 term occurrences; 3) our analysis of the linguistic (anti)patters in more than 23,000 URIs of the 142 services of the 16 Cloud providers. We also show that CloudLex has an average precision of 84.82%, recall of 63.57%, and F1-measure of 71.03\NOon one complete API, Docker Engine, which confirms the accuracy of our semantic analyses for the detection of linguistic (anti)patterns.
@INPROCEEDINGS{Petrillo18-CLOSER-LexicalSemanticREST,
AUTHOR = {Fabio Petrillo and Philippe Merle and Francis Palma and
Naouel Moha and Yann-Ga�l Gu�h�neuc},
BOOKTITLE = {Proceedings of the 8<sup>th</sup> International Conference on Cloud Computing and Services Science (CLOSER)},
TITLE = {A Lexical and Semantical Analysis on REST Cloud
Computing APIs},
YEAR = {2018},
OPTADDRESS = {},
OPTCROSSREF = {},
EDITOR = {Donald Ferguson and V�ctor M�ndez Mu�oz and
Jorge S. Cardoso and Markus Helfert and Claus Pahl},
MONTH = {July},
NOTE = {24 pages.},
OPTNUMBER = {},
OPTORGANIZATION = {},
PAGES = {308--332},
PUBLISHER = {Springer},
OPTSERIES = {},
OPTVOLUME = {},
KEYWORDS = {Topic: <b>Code and design smells</b>,
Venue: <c>CLOSER</c>},
URL = {http://www.ptidej.net/publications/documents/CLOSER18.doc.pdf},
PDF = {http://www.ptidej.net/publications/documents/CLOSER18.ppt.pdf},
ABSTRACT = {Cloud computing is a popular Internet-based computing
paradigm that provides on-demand computational services and
resources, generally offered by Cloud providers' REpresentational
State Transfer (REST) APIs. Developers use REST APIs by invoking
these APIs by their names and, thus, the lexicons used in the APIs
are important to ease the developers' comprehension. In this paper,
we study the lexicons and the linguistic (anti)patterns from 16
providers of REST Cloud Computing APIs. We observe that, although the
16 REST APIs describe the same domain (Cloud computing), contrary to
what one might expect, their lexicons do not share a large number of
common terms and 90\NOof the terms (3,561/3,947) are just used by one
provider. Thus, the APIs are lexically heterogeneous and there is not
a consensus on which terms to use in Cloud computing. Further, we
observe that the majority of the URIs, 54\%, follow the
Contextualised Resource Names pattern, which is considered a good
practice in REST API design. However, a majority of the URIs,
62.82\%, suffer from the Non-pertinent Documentation antipattern.
Thus, we present three main contributions: 1) a tooled approach,
called CloudLex, for extracting and analysing REST Cloud computing
lexicons; 2) our analysis of the terms used in 16 REST APIs in 59,677
term occurrences; 3) our analysis of the linguistic (anti)patters in
more than 23,000 URIs of the 142 services of the 16 Cloud providers.
We also show that CloudLex has an average precision of 84.82\%,
recall of 63.57\%, and F1-measure of 71.03\NOon one complete API,
Docker Engine, which confirms the accuracy of our semantic analyses
for the detection of linguistic (anti)patterns.}
}