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% of 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)patterns 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% on one complete API, Docker Engine, which confirms the accuracy of our semantic analyses for the detection of linguistic (anti)patterns.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
We chose at least seven providers to show a short list of terms (around of 20 terms). The full list is available at https://github.com/Spirals-Team/CloudLexicon.
- 5.
References
Androcec, D., Vrcek, N., Ševa, J.: Cloud Computing Ontologies: A Systematic Review, September 2017
Armbrust, M., Stoica, I., Zaharia, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A.: A view of cloud computing. Commun. ACM 53(4), 50 (2010)
Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Dirichlet allocation. J. Mach. Learn. Res. 3(4–5), 993–1022 (2003)
Budanitsky, A., Hirst, G.: Evaluating WordNet-based measures of lexical semantic relatedness. Comput. Linguist. 32(1), 13–47 (2006)
Rodríguez, C., Baez, M., Daniel, F., Casati, F., Trabucco, J.C., Canali, L., Percannella, G.: REST APIs: a large-scale analysis of compliance with principles and best practices. In: Bozzon, A., Cudre-Maroux, P., Pautasso, C. (eds.) ICWE 2016. LNCS, vol. 9671, pp. 21–39. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-38791-8_2
Challita, S., Paraiso, F., Merle, P.: Towards formal-based semantic interoperability in multi-clouds. In: 10th IEEE International Conference on Cloud Computing (CLOUD), Honolulu, Hawaii, USA, June 2017. https://hal.inria.fr/hal-01519831
Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000)
Fredrich, T.: RESTful Service Best Practices: Recommendations for Creating Web Services, May 2012. http://www.restapitutorial.com/resources.html
Haupt, F., Leymann, F., Scherer, A., Vukojevic-Haupt, K.: A framework for the structural analysis of REST APIs. In: Proceedings of the 1st IEEE International Conference on Software Architecture, ICSA 2017, 3–7 April 2017, Gothenburg, Sweden, pp. 55–58. IEEE Computer Society (2017)
Hausenblas, M.: On entities in the web of data. In: Wilde, E., Pautasso, C. (eds.) REST: From Research to Practice, pp. 425–440. Springer, New York (2011). https://doi.org/10.1007/978-1-4419-8303-9_19
Kolb, P.: DISCO: a multilingual database of distributionally similar words. In: Proceedings of 9th Conference on Natural Language Processing KONVENS 2008, Berlin, Germany, no. 2003, pp. 37–44 (2008)
Kolb, P.: Experiments on the Difference between Semantic Similarity and Relatedness. In: 17th Nordic Conference of Computational Linguistics, Odense, Denmark, NODALIDA 2009 (2009)
Masse, M.: REST API Design Rulebook, vol. 53. O’Reilly Media, Sebastopol (2011)
Nyren, R., Edmonds, A., Papaspyrou, A., Metsch, T., Parak, B.: Open Cloud Computing Interface - Core. OCCI-WG Specification Document 1.2, Open Grid Forum (2016). https://redmine.ogf.org/attachments/217/core.pdf
Palma, F., Gonzalez-Huerta, J., Founi, M., Moha, N., Tremblay, G., Guéhéneuc, Y.G.: Semantic analysis of RESTful APIs for the detection of linguistic patterns and antipatterns. Int. J. Coop. Inf. Syst. 26(02), 1742001 (2017). http://www.worldscientific.com/doi/abs/10.1142/S0218843017420011
Palma, F., Gonzalez-Huerta, J., Moha, N., Guéhéneuc, Y.-G., Tremblay, G.: Are RESTful APIs well-designed? Detection of their linguistic (anti)patterns. In: Barros, A., Grigori, D., Narendra, N.C., Dam, H.K. (eds.) ICSOC 2015. LNCS, vol. 9435, pp. 171–187. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48616-0_11
Petrillo, F., Merle, P., Moha, N., Guéhéneuc, Y.G.: Towards a REST cloud computing Lexicon. In: ScitePress (ed.) 7th International Conference on Cloud Computing and Services Science, CLOSER 2017, pp. 376–383. INSTICC, Porto, April 2017. https://hal.archives-ouvertes.fr/hal-01480593
Petrillo, F., Merle, P., Moha, N., Guéhéneuc, Y.G.: In: Proceedings of 14th International Conference on Service-Oriented Computing, ICSOC 2016, Banff, Canada, 10–13 October 2016 (2016)
Steyvers, M., Griffith, T.: Probabilistic topic models. In: Landauer, T., McNamara, D., Dennis, S., Kintsch, W. (eds.) Latent Semantic Analysis: A Road to Meaning. Laurence Erlbaum, Mahwah (2007)
Wittern, E., Ying, A.T.T., Zheng, Y., Dolby, J., Laredo, J.A.: Statically checking Web API requests in JavaScript. In: Proceedings of the 39th International Conference on Software Engineering, ICSE 2017, pp. 244–254. IEEE Press, Piscataway (2017). https://doi.org/10.1109/ICSE.2017.30
Youseff, L., Butrico, M., Silva, D.D.: Toward a unified ontology of cloud computing. In: 2008 Grid Computing Environments Workshop, pp. 1–10, November 2008
Zhang, C., Budgen, D.: What do we know about the effectiveness of software design patterns? IEEE Trans. Softw. Eng. 38(5), 1213–1231 (2012)
Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: state-of-the-art and research challenges. J. Internet Serv. Appl. 1(1), 7–18 (2010)
Zhou, W., Li, L., Luo, M., Chou, W.: REST API design patterns for SDN northbound API. In: 2014 28th International Conference on Advanced Information Networking and Applications Workshops. pp. 358–365. IEEE, May 2014. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6844664
Acknowledgment
This work is partially supported by the OCCIware research and development project (http://www.occiware.org) funded by French Programme d’Investis sements d’Avenir (PIA). It is also co-funded by the Natural Sciences and Engineering Research Council of Canada (NSERC).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Petrillo, F., Merle, P., Palma, F., Moha, N., Guéhéneuc, YG. (2018). A Lexical and Semantical Analysis on REST Cloud Computing APIs. In: Ferguson, D., Muñoz, V., Cardoso, J., Helfert, M., Pahl, C. (eds) Cloud Computing and Service Science. CLOSER 2017. Communications in Computer and Information Science, vol 864. Springer, Cham. https://doi.org/10.1007/978-3-319-94959-8_16
Download citation
DOI: https://doi.org/10.1007/978-3-319-94959-8_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94958-1
Online ISBN: 978-3-319-94959-8
eBook Packages: Computer ScienceComputer Science (R0)