Journal Home > Volume 28 , Issue 4

Modern software development has moved toward agile growth and rapid delivery, where developers must meet the changing needs of users instantaneously. In such a situation, plug-and-play Third-Party Libraries (TPLs) introduce a considerable amount of convenience to developers. However, selecting the exact candidate that meets the project requirements from the countless TPLs is challenging for developers. Previous works have considered setting up a personalized recommender system to suggest TPLs for developers. Unfortunately, these approaches rarely consider the complex relationships between applications and TPLs, and are unsatisfactory in accuracy, training speed, and convergence speed. In this paper, we propose a new end-to-end recommendation model called Neighbor Library-Aware Graph Neural Network (NLA-GNN). Unlike previous works, we only initialize one type of node embedding, and construct and update all types of node representations using Graph Neural Networks (GNN). We use a simplified graph convolution operation to alternate the information propagation process to increase the training efficiency and eliminate the heterogeneity of the app-library bipartite graph, thus efficiently modeling the complex high-order relationships between the app and the library. Extensive experiments on large-scale real-world datasets demonstrate that NLA-GNN achieves consistent and remarkable improvements over state-of-the-art baselines for TPL recommendation tasks.


menu
Abstract
Full text
Outline
About this article

Neighbor Library-Aware Graph Neural Network for Third Party Library Recommendation

Show Author's information Ying Jin1Yi Zhang2Yiwen Zhang2( )
School of Artificial Intelligence and Big Data, Hefei University, Hefei 230601, China
School of Computer Science and Technology, Anhui University, Hefei 230601, China

Abstract

Modern software development has moved toward agile growth and rapid delivery, where developers must meet the changing needs of users instantaneously. In such a situation, plug-and-play Third-Party Libraries (TPLs) introduce a considerable amount of convenience to developers. However, selecting the exact candidate that meets the project requirements from the countless TPLs is challenging for developers. Previous works have considered setting up a personalized recommender system to suggest TPLs for developers. Unfortunately, these approaches rarely consider the complex relationships between applications and TPLs, and are unsatisfactory in accuracy, training speed, and convergence speed. In this paper, we propose a new end-to-end recommendation model called Neighbor Library-Aware Graph Neural Network (NLA-GNN). Unlike previous works, we only initialize one type of node embedding, and construct and update all types of node representations using Graph Neural Networks (GNN). We use a simplified graph convolution operation to alternate the information propagation process to increase the training efficiency and eliminate the heterogeneity of the app-library bipartite graph, thus efficiently modeling the complex high-order relationships between the app and the library. Extensive experiments on large-scale real-world datasets demonstrate that NLA-GNN achieves consistent and remarkable improvements over state-of-the-art baselines for TPL recommendation tasks.

Keywords: Graph Neural Network (GNN), bipartite graph, Third-Party Library (TPL), TPL recommendation

References(40)

[1]
Y. Zhang, B. Hu, and Y. Zhang, Model-driven open ecological cloud enterprise resource planning, Int. J. Web Serv. Res., vol. 18, no. 3, pp. 82–99, 2021.
[2]
P. Salza, F. Palomba, D. Di Nucci, A. De Lucia, and F. Ferrucci, Third-party libraries in mobile apps, Empir. Softw. Eng., vol. 25, no. 3, pp. 2341–2377, 2020.
[3]
M. A. Saied and H. Sahraoui, A cooperative approach for combining client-based and library-based API usage pattern mining, in Proc. 24th Int. Conf. Program Comprehension (ICPC), Austin, TX, USA, 2016, pp. 1–10.
[4]
E. Derr, S. Bugiel, S. Fahl, Y. Acar, and M. Backes, Keep me updated: An empirical study of third-party library updatability on android, in Proc. 2017 ACM SIGSAC Conf. Computer and Communications Security, Dallas, TX, USA, 2017, pp. 2187–2200.
[5]
Q. He, B. Li, F. Chen, J. Grundy, X. Xia, and Y. Yang, Diversified third-party library prediction for mobile app development, IEEE Trans. Softw. Eng., vol. 48, no. 1, pp. 150–165, 2022.
[6]
H. Henriques, H. Lourenço, V. Amaral, and M. Goulão, Improving the developer experience with a low-code process modelling language, in Proc. 21st ACM/IEEE Int. Conf. Model Driven Engineering Languages and Systems, Copenhagen, Denmark, 2018, pp. 200–210.
[7]
T. Ki, C. M. Park, K. Dantu, S. Y. Ko, and L. Ziarek, Mimic: UI compatibility testing system for android apps, in Proc. 41st Int. Conf. Software Engineering, Montreal, Canada, 2019, pp. 246–256.
[8]
F. Thung, D. Lo, and J. Lawall, Automated library recommendation, in Proc. of the 20th Working Conf. Reverse Engineering (WCRE), Koblenz, Germany, 2013, pp. 182–191.
[9]
X. He, L. Liao, H. Zhang, L. Nie, X. Hu, and T. S. Chua, Neural collaborative filtering, in Proc. 26th Int. Conf. on World Wide Web, Perth, Australia, 2017, pp. 173–182.
[10]
H. Abdollahpouri, M. Mansoury, R. Burke, and B. Mobasher, The connection between popularity bias, calibration, and fairness in recommendation, in Proc. 14th ACM Conf. Recommender Systems, Virtual Event, Brazil, 2020, pp. 726–731.
[11]
Y. Koren, R. Bell, and C. Volinsky, Matrix factorization techniques for recommender systems, Computer, vol. 42, no. 8, pp. 30–37, 2009.
[12]
Y. Zhang, K. Wang, Q. He, F. Chen, S. Deng, Z. Zheng, and Y. Yang, Covering-based web service quality prediction via neighborhood-aware matrix factorization, IEEE Trans. Serv. Comput., vol. 14, no. 5, pp. 1333–1344, 2021.
[13]
B. Li, Q. He, F. Chen, X. Xia, L. Li, J. Grundy, and Y. Yang, Embedding app-library graph for neural third party library recommendation, in Proc. 29th ACM Joint Meeting on European Software Engineering Conf. and Symp. Foundations of Software Engineering, Athens, Greece, 2021, pp. 466–477.
[14]
T. N. Kipf and M. Welling, Semi-supervised classification with graph convolutional networks, presented at the Int. Conf. Learning Representations, Toulon, France, 2017.
[15]
X. Wang, X. He, M. Wang, F. Feng, and T. S. Chua, Neural graph collaborative filtering, in Proc. 42nd Int. ACM SIGIR Conf. Research and Development in Information Retrieval, Paris, France, 2019, pp. 165–174.
[16]
L. Chen, L. Wu, R. Hong, K. Zhang, and M. Wang, Revisiting graph based collaborative filtering: A linear residual graph convolutional network approach, Proc. AAAI Conf. Artif. Intell., vol. 34, no. 1. pp. 27–34, 2020.
[17]
X. He, K. Deng, X. Wang, Y. Li, Y. Zhang, and M. Wang, LightGCN: Simplifying and powering graph convolution network for recommendation, in Proc. 43rd Int. ACM SIGIR Conf. on Research and Development in Information Retrieval, Virtual Event, China, 2020, pp. 639–648.
[18]
J. Cao, X. Lin, S. Guo, L. Liu, T. Liu, and B. Wang, Bipartite graph embedding via mutual information maximization, in Proc. 14th ACM Int. Conf. Web Search and Data Mining, Virtual Event, Israel, 2021, pp. 635–643.
[19]
J. Sun, Y. Zhang, W. Guo, H. Guo, R. Tang, X. He, C. Ma, and M. Coates, Neighbor interaction aware graph convolution networks for recommendation, in Proc. 43rd Int. ACM SIGIR Conf. on Research and Development in Information Retrieval, Virtual Event, China, 2020, pp. 1289–1298.
[20]
F. Wu, A. Souza, T. Zhang, C. Fifty, T. Yu, and K. Weinberger, Simplifying graph convolutional networks, in Proc. 36th Int. Conf. on Machine Learning, Long Beach, CA, USA, 2019, pp. 6861–6871.
[21]
S. Kabbur, X. Ning, and G. Karypis, FISM: Factored item similarity models for top-N recommender systems, in Proc. 19th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining, Chicago, IL, USA, 2013, pp. 659–667.
[22]
S. Rendle, Factorization machines with libFM, ACM Trans. Intell. Syst. Technol., vol. 3, no. 3, p. 57, 2012.
[23]
W. Chen, F. Cai, H. Chen, and M. De Rijke, Joint neural collaborative filtering for recommender systems, ACM Trans. Inform. Syst., vol. 37, no. 4, p. 39, 2019.
[24]
R. Ying, R. He, K. Chen, P. Eksombatchai, W. L. Hamilton, and J. Leskovec, Graph convolutional neural networks for web-scale recommender systems, in Proc. 24th ACM SIGKDD Int. Conf. Knowledge Discovery & Data Mining, London, UK, 2018, pp. 974–983.
[25]
D. Zhang, J. Yin, X. Zhu, and C. Zhang, Network representation learning: A survey, IEEE Trans. Big Data, vol. 6, no. 1, pp. 3–28, 2020.
[26]
C. K. Hsieh, L. Yang, Y. Cui, T. Y. Lin, S. Belongie, and D. Estrin, Collaborative metric learning, in Proc. 26th Int. Conf. World Wide Web, Perth, Australia, 2017, pp. 193–201.
[27]
S. Rendle, C. Freudenthaler, Z. Gantner, and L. Schmidt-Thieme, BPR: Bayesian personalized ranking from implicit feedback, in Proc. 25th Conf. Uncertainty in Artificial Intelligence, Montreal, Canada, 2009, pp. 452–461.
[28]
D. P. Kingma and J. Ba, Adam: A method for stochastic optimization, arXiv preprint arXiv: 1412.6980, 2017.
[29]
X. Glorot and Y. Bengio, Understanding the difficulty of training deep feedforward neural networks, in Proc. 13th Int. Conf. Artificial Intelligence and Statistics, Sardinia, Italy, 2010, pp. 249–256.
[30]
M. Liu, H. Gao, and S. Ji, Towards deeper graph neural networks, in Proc. 26th ACM SIGKDD Int. Conf. Knowledge Discovery & Data Mining, Virtual Event, CA, USA, 2020, pp. 338–348.
[31]
M. Chen, Z. Wei, Z. Huang, B. Ding, and Y. Li, Simple and deep graph convolutional networks, in Proc. 37th Int. Conf. Machine Learning, Vivtual Event, Austria, 2020, pp. 1725–1735.
[32]
W. Zheng, Q. Zhang, and M. Lyu, Cross-library API recommendation using web search engines, in Proc. 19th ACM SIGSOFT Symp. and the 13th European Conf. Foundations of Software Engineering, Szeged, Hungary, 2011, pp. 480–483.
[33]
A. Narayanan, L. Chen, and C. K. Chan, AdDetect: Automated detection of android ad libraries using semantic analysis, in Proc. 9th Int. Conf. on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), Singapore, 2014, pp. 1–6.
[34]
B. Liu, B. Liu, H. Jin, and R. Govindan, Efficient privilege de-escalation for ad libraries in mobile apps, in Proc. 13th Annu. Int. Conf. Mobile Systems, Applications, and Services, Florence, Italy, 2015, pp. 89–103.
[35]
F. Thung, S. Wang, D. Lo, and J. Lawall, Automatic recommendation of API methods from feature requests, in Proc 28th IEEE/ACM Int. Conf. Automated Software Engineering (ASE), Silicon Valley, CA, USA, 2013, pp. 290–300.
[36]
M. A. Saied, A. Ouni, H. Sahraoui, R. G. Kula, K. Inoue, and D. Lo, Improving reusability of software libraries through usage pattern mining, J. Syst. Softw., vol. 145, pp. 164–179, 2018.
[37]
M. Backes, S. Bugiel, and E. Derr, Reliable third-party library detection in android and its security applications, in Proc. 2016 ACM SIGSAC Conf. Computer and Communications Security, Vienna, Austria, 2016, pp. 356–367.
[38]
Y. Zhang, J. Dai, X. Zhang, S. Huang, Z. Yang, M. Yang, and H. Chen, Detecting third-party libraries in android applications with high precision and recall, in Proc. 25th Int. Conf. Software Analysis, Evolution and Reengineering (SANER), Campobasso, Italy, 2018, pp. 141–152.
[39]
L. Wu, X. He, X. Wang, K. Zhang, and M. Wang, A survey on accuracy-oriented neural recommendation: From collaborative filtering to information-rich recommendation, IEEE Trans. Knowl. Data Eng., .
[40]
P. T. Nguyen, J. Di Rocco, D. Di Ruscio, and M. Di Penta, CrossRec: Supporting software developers by recommending third-party libraries, J. Syst. Softw., vol. 161, p. 110460, 2020.
Publication history
Copyright
Acknowledgements
Rights and permissions

Publication history

Received: 13 June 2022
Revised: 01 September 2022
Accepted: 26 September 2022
Published: 06 January 2023
Issue date: August 2023

Copyright

© The author(s) 2023.

Acknowledgements

This work was supported by the Key Project of Nature Science Research for Universities of Anhui Province of China (No. KJ2020A0657), the National Natural Science Foundation of China (Nos. 62272001, 61872002, and 62276146), and the University Collaborative Innovation Project of Anhui Province (No. GXXT-2021-087).

Rights and permissions

The articles published in this open access journal are distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/).

Return