Abstract
Nowadays, Web services attract more and more attentions. Many companies expose their data or services by publishing Web APIs (Application Programming Interface) to let users create innovative services or applications. To ease the use of various and complex APIs, multiple API directory services or API search engines, such as Mashape, API Harmony, and ProgrammableWeb, are emerging in recent years. However, most API systems are only able to help developers to understand Web APIs. Furthermore, these systems do neither provide usage examples for users, nor help users understand the “closeness” between APIs. Therefore, we propose a system, referred to as API Prober, to address the above issues by constructing an API “dictionary”. There are multiple main features of API Prober. First, API Prober transforms OAS (OpenAPI Specification 2.0) into the graph structure in Neo4J database and annotates the semantic concepts on each graph node by using LDA (Latent Dirichlet Allocation) and WordNet. Second, by parsing source codes in the GitHub, API Prober is able to retrieve code examples that utilize APIs. Third, API Prober performs API classification through cluster analysis for OAS documents. Finally, the experimental results show that API Prober can appropriately produce service clusters.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
References
Gat, I., Succi, G.: A Survey of the API Economy. Cut. Consort (2013)
Fielding, R.T., Taylor, R.N.: Principled design of the modern Web architecture. ACM Trans. Internet Technol. (TOIT) 2(2), 115–150 (2002)
Amundsen, M.: RESTful Web Clients: Enabling Reuse Through Hypermedia. O’Reilly Media, Inc, Sebastopol (2017)
ProgrammableWeb. http://www.programmableweb.com/
APIs.io. http://apis.io/
Mashape. https://www.mashape.com/
APIs.guru. https://apis.guru/
OpenAPI Specification (OAS). https://swagger.io/docs/specification/
Neumann, A., Laranjeiro, N., Bernardino, J.: An analysis of public REST web service APIs. IEEE Trans. Serv. Comput. 2018, 1 (2018)
Webber, J.: A programmatic introduction to neo4j. In: Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity. ACM (2012)
Agrawal, R., Phatak, M.: A novel algorithm for automatic document clustering. In: 2013 3rd IEEE International Advance Computing Conference (IACC) (2013)
Reddy, V.S., Kinnicutt, P., Lee, R.: Text document clustering: the application of cluster analysis to textual document. In: 2016 International Conference on Computational Science and Computational Intelligence (CSCI) (2016)
Wittern, E., et al.: API harmony: graph-based search and selection of APIs in the cloud. IBM J. Res. Dev. 60(2–3), 12:1–12:11 (2016)
Ma, S., et al.: Real-world RESTful service composition: a transformation-annotation-discovery approach. In: 2017 IEEE 10th Conference on Service-Oriented Computing and Applications (SOCA) (2017)
Porter, M.: The Porter Stemming Algorithm. http://www.tartarus.org/~martin/PorterStemmer/
Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent dirichlet allocation. J. Mach. Learn. Res. 3, 993–1022 (2003)
Li, Y., Bandar, Z.A., Mclean, D.: An approach for measuring semantic similarity between words using multiple information sources. IEEE Trans. Knowl. Data Eng. 15(4), 871–882 (2003)
Haupt, F., et al.: A framework for the structural analysis of REST APIs. In: 2017 IEEE International Conference on Software Architecture (ICSA) (2017)
Cosentino, V., Izquierdo, J.L.C., Cabot, J.: Findings from GitHub: methods, datasets and limitations. In: 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR). IEEE (2016)
Aggarwal, C., Zhai, C.: A Survey of Text Clustering Algorithms (2012)
Vinh, N.X., Epps, J., Bailey, J.: Information theoretic measures for clusterings comparison: Variants, properties, normalization and correction for chance. J. Mach. Learn. Res. 11, 2837–2854 (2010)
Acknowledgment
This research was sponsored by Ministry of Science and Technology in Taiwan under the grant MOST 108-2221-E-019-026-MY3.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Ma, SP., Hsu, MJ., Chen, HJ., Su, YS. (2020). API Prober – A Tool for Analyzing Web API Features and Clustering Web APIs. In: Chao, KM., Jiang, L., Hussain, O., Ma, SP., Fei, X. (eds) Advances in E-Business Engineering for Ubiquitous Computing. ICEBE 2019. Lecture Notes on Data Engineering and Communications Technologies, vol 41. Springer, Cham. https://doi.org/10.1007/978-3-030-34986-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-34986-8_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-34985-1
Online ISBN: 978-3-030-34986-8
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)