A Lexical and Semantical Analysis on REST Cloud Computing APIs

  • Fabio PetrilloEmail author
  • Philippe Merle
  • Francis Palma
  • Naouel Moha
  • Yann-Gaël Guéhéneuc
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 864)


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 work is partially supported by the OCCIware research and development project ( 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).


  1. 1.
    Androcec, D., Vrcek, N., Ševa, J.: Cloud Computing Ontologies: A Systematic Review, September 2017Google Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Dirichlet allocation. J. Mach. Learn. Res. 3(4–5), 993–1022 (2003)zbMATHGoogle Scholar
  4. 4.
    Budanitsky, A., Hirst, G.: Evaluating WordNet-based measures of lexical semantic relatedness. Comput. Linguist. 32(1), 13–47 (2006)CrossRefGoogle Scholar
  5. 5.
    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). Scholar
  6. 6.
    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.
  7. 7.
    Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000)Google Scholar
  8. 8.
    Fredrich, T.: RESTful Service Best Practices: Recommendations for Creating Web Services, May 2012.
  9. 9.
    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)Google Scholar
  10. 10.
    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). Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    Kolb, P.: Experiments on the Difference between Semantic Similarity and Relatedness. In: 17th Nordic Conference of Computational Linguistics, Odense, Denmark, NODALIDA 2009 (2009)Google Scholar
  13. 13.
    Masse, M.: REST API Design Rulebook, vol. 53. O’Reilly Media, Sebastopol (2011)Google Scholar
  14. 14.
    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).
  15. 15.
    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). Scholar
  16. 16.
    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). Scholar
  17. 17.
    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.
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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).
  21. 21.
    Youseff, L., Butrico, M., Silva, D.D.: Toward a unified ontology of cloud computing. In: 2008 Grid Computing Environments Workshop, pp. 1–10, November 2008Google Scholar
  22. 22.
    Zhang, C., Budgen, D.: What do we know about the effectiveness of software design patterns? IEEE Trans. Softw. Eng. 38(5), 1213–1231 (2012)CrossRefGoogle Scholar
  23. 23.
    Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: state-of-the-art and research challenges. J. Internet Serv. Appl. 1(1), 7–18 (2010)CrossRefGoogle Scholar
  24. 24.
    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.

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Fabio Petrillo
    • 1
    Email author
  • Philippe Merle
    • 2
  • Francis Palma
    • 3
  • Naouel Moha
    • 4
  • Yann-Gaël Guéhéneuc
    • 1
  1. 1.Concordia UniversityMontréalCanada
  2. 2.Inria Lille - Nord EuropeVilleneuve d’AscqFrance
  3. 3.Linnaeus UniversityVäxjöSweden
  4. 4.Université du Québec à MontréalMontréalCanada

Personalised recommendations