Abstract
Mashup developers often need to find open application programming interfaces (APIs) for their composition application development. Although most enterprises and service organizations have encapsulated their businesses or resources online as open APIs, finding the right high-quality open APIs is not an easy task from a library with several open APIs. To solve this problem, this paper proposes a deep learning-based open API recommendation (DLOAR) approach. First, the hierarchical density-based spatial clustering of applications with a noise topic model is constructed to build topic models for Mashup clusters. Second, developers’ requirement keywords are extracted by the TextRank algorithm, and the language model is built. Third, a neural network-based three-level similarity calculation is performed to find the most relevant open APIs. Finally, we complement the relevant information of open APIs in the recommended list to help developers make better choices. We evaluate the DLOAR approach on a real dataset and compare it with commonly used open API recommendation approaches: term frequency-inverse document frequency, latent dirichlet allocation, Word2Vec, and Sentence-BERT. The results show that the DLOAR approach has better performance than the other approaches in terms of precision, recall, F1-measure, mean average precision, and mean reciprocal rank.
Similar content being viewed by others
References
Xia B, Fan Y, Tan W, et al. Category-aware API clustering and distributed recommendation for automatic Mashup creation. IEEE Trans Serv Comput, 2015, 8: 674–687
Kong X L, Han W N, Liao L, et al. An analysis of correctness for API recommendation: are the unmatched results useless? Sci China Inf Sci, 2020, 63: 190103
Bianchini D, de Antonellis V, Pernici B, et al. Ontology-based methodology for e-service discovery. Inf Syst, 2006, 31: 361–380
Pop C B, Chifu V R, Salomie I, et al. Semantic web service clustering for efficient discovery using an ant-based method. In: Intelligent Distributed Computing. Berlin: Springer, 2010. 23–33
Dasgupta S, Bhat S, Lee Y. Taxonomic clustering and query matching for efficient service discovery. In: Proceedings of IEEE International Conference on Web Services, 2011. 363–370
Meng S, Dou W, Zhang X, et al. KASR: a keyword-aware service recommendation method on mapreduce for big data applications. IEEE Trans Parallel Distrib Syst, 2014, 25: 3221–3231
Cao B, Liu J, Tang M, et al. Mashup service recommendation based on usage history and service network. Int J Web Serv Res, 2011, 10: 82–101
Chan W K, Cheng H, Lo D. Searching connected API subgraph via text phrases. In: Proceedings of the 20th International Symposium on the Foundations of Software Engineering, 2012. 1–11
Elgazzar K, Hassan A E, Martin P. Clustering WSDL documents to bootstrap the discovery of web services. In: Proceedings of IEEE International Conference on Web Services, 2010. 147–154
Li C, Zhang R, Huai J, et al. A novel approach for API recommendation in Mashup development. In: Proceedings of IEEE International Conference on Web Services, 2014. 289–296
Chen L, Wang Y, Yu Q, et al. WT-LDA: user tagging augmented LDA for web service clustering. In: Proceedings of International Conference on Service-Oriented Computing, 2013. 162–176
Cao B, Liu X, Li B, et al. Mashup service clustering based on an integration of service content and network via exploiting a two-level topic model. In: Proceedings of IEEE International Conference on Web Services, 2016. 212–219
Samanta P, Liu X. Recommending services for new Mashups through service factors and top-K neighbors. In: Proceedings of IEEE International Conference on Web Services, 2017. 381–388
Tian G, Wang J, He K, et al. Integrating implicit feedbacks for time-aware web service recommendations. Inf Syst Front, 2017, 19: 75–89
Xie F, Wang J, Xiong R, et al. An integrated service recommendation approach for service-based system development. Expert Syst Appl, 2019, 123: 178–194
Cao B, Liu J, Wen Y, et al. QoS-aware service recommendation based on relational topic model and factorization machines for IoT Mashup applications. J Parallel Distrib Comput, 2019, 132: 177–189
Cao B, Liu X, Rahman M M, et al. Integrated content and network-based service clustering and web APIs recommendation for Mashup development. IEEE Trans Serv Comput, 2020, 13: 99–113
Liu Y, Ott M, Goyal N, et al. RoBERTa: a robustly optimized BERT pretraining approach. 2019. ArXiv:1907.11692
Campello R J G B, Moulavi D, Sander J. Density-based clustering based on hierarchical density estimates. In: Proceedings of Pacific-Asia Conference on Knowledge Discovery and Data Mining, 2013. 160–172
Cao B, Liu X Q, Liu J, et al. Domain-aware Mashup service clustering based on LDA topic model from multiple data sources. Inf Softw Tech, 2017, 90: 40–54
Huang Q, Xia X, Xing Z, et al. API method recommendation without worrying about the Task-API knowledge gap. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, 2018. 293–304
Liu L, Lecue F, Mehandjiev N. Semantic content-based recommendation of software services using context. ACM Trans Web, 2013, 7: 1–20
Pan W, Chai C. Structure-aware Mashup service clustering for cloud-based Internet of Things using genetic algorithm based clustering algorithm. Future Generation Comput Syst, 2018, 87: 267–277
Li H, Li K, An J, et al. An efficient manifold regularized sparse non-negative matrix factorization model for large-scale recommender systems on GPUs. Inf Sci, 2019, 496: 464–484
Mclnnes L, Healy J, Melville J. UMAP: uniform manifold approximation and projection for dimension reduction. 2018. ArXiv:1802.03426
Wang H C, Hsiao W C, Chang S H. Automatic paper writing based on a RNN and the TextRank algorithm. Appl Soft Comput, 2020, 97: 106767
Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality. In: Proceedings of Conference on Neural Information Processing Systems, 2013. 3111–3119
Guo W, Zeng Q, Duan H, et al. Process-extraction-based text similarity measure for emergency response plans. Expert Syst Appl, 2021, 183: 115301
Reimers N, Gurevych I. Sentence-BERT: sentence embeddings using siamese BERT-networks. In: Proceedings of Conference on Empirical Methods in Natural Language Processing, 2019. 3982–3992
Fujii Y, Kitaoka N, Nakagawa S. Automatic extraction of cue phrases for important sentences in lecture speech and automatic lecture speech summarization. In: Proceedings of the 8th Annual Conference of the International Speech Communication Association, 2007. 2801–2804
Zhong H, Xie T, Zhang L, et al. MAPO: mining and recommending API usage patterns. In: Proceedings of the 23rd European Conference on ECOOP 2009 — Object-Oriented Programming, 2009. 318–343
Li H, Liu J, Cao B, et al. Topic-adaptive web API recommendation method via integrating multidimensional information. J Softw, 2018, 29: 3374–3387
Danglot B, Vera-Perez O, Yu Z, et al. A snowballing literature study on test amplification. J Syst Softw, 2019, 157: 110398
Ehek R, Sojka P. Software framework for topic modelling with large corpora. In: Proceedings of Workshop on New Challenges for NLP Frameworks, 2004. 46–50
Cao B Q, Xiao Q X, Zhang X P, et al. An API service recommendation method via combining self-organization map-based functionality clustering and deep factorization machine-based quality prediction. Chinese J Comput, 2019, 42: 1367–1383
Jiang B, Liu P, Wang Y, et al. HyOASAM: a hybrid open API selection approach for Mashup development. Math Problem Eng, 2020, 2020: 1–16
Fu W, Menzies T, Shen X. Tuning for software analytics: is it really necessary? Inf Softw Tech, 2016, 76: 135–146
Nair V, Menzies T, Siegmund N, et al. Using bad learners to find good configurations. In: Proceedings of the 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017), 2017. 257–267
Tantithamthavorn C, McIntosh S, Hassan A E, et al. Automated parameter optimization of classification techniques for defect prediction models. In: Proceedings of the 38th International Conference on Software Engineering, 2016. 321–332
Thung F, Oentaryo R J, Lo D, et al. WebAPIRec: recommending web APIs to software projects via personalized ranking. IEEE Trans Emerg Top Comput Intell, 2017, 1: 145–156
Rahman M M, Roy C K, Lo D. RACK: automatic API recommendation using crowdsourced knowledge. In: Processing of the 23rd International Conference on Software Analysis, Evolution, and Reengineering, 2016. 349–359
Wen M, Wu R, Cheung S C. Locus: locating bugs from software changes. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, 2016. 262–273
Acknowledgements
This work was supported by National Science Foundation of Zhejiang Province (Grant Nos. LY21F020011, LY20F020027, LY19F020003), Key Research and Development Program of Zhejiang Province (Grant No. 2021C01162), and National Natural Science Foundation of China (Grant No. 61672459). We would like to thank all the participants who have provided their valuable answers and comments in the user study.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wang, Y., Chen, J., Huang, Q. et al. Deep learning-based open API recommendation for Mashup development. Sci. China Inf. Sci. 66, 172102 (2023). https://doi.org/10.1007/s11432-021-3531-0
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11432-021-3531-0