当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Neural Library Recommendation by Embedding Project-Library Knowledge Graph
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2024-04-24 , DOI: 10.1109/tse.2024.3393504
Bo Li 1 , Haowei Quan 2 , Jiawei Wang 2 , Pei Liu 2 , Haipeng Cai 3 , Yuan Miao 1 , Yun Yang 4 , Li Li 5
Affiliation  

The prosperity of software applications brings fierce market competition to developers. Employing third-party libraries (TPLs) to add new features to projects under development and to reduce the time to market has become a popular way in the community. However, given the tremendous TPLs ready for use, it is challenging for developers to effectively and efficiently identify the most suitable TPLs. To tackle this obstacle, we propose an innovative approach named PyRec to recommend potentially useful TPLs to developers for their projects. Taking Python project development as a use case, PyRec embeds Python projects, TPLs, contextual information, and relations between those entities into a knowledge graph. Then, it employs a graph neural network to capture useful information from the graph to make TPL recommendations. Different from existing approaches, PyRec can make full use of not only project-library interaction information but also contextual information to make more accurate TPL recommendations. Comprehensive evaluations are conducted based on 12,421 Python projects involving 963 TPLs, 9,675 extra entities, 121,474 library usage records, and 73,277 contextual records. Compared with five representative approaches, PyRec improves the recommendation performance significantly in all cases.

中文翻译:


嵌入项目的神经图书馆推荐——图书馆知识图谱



软件应用的繁荣给开发者带来了激烈的市场竞争。使用第三方库(TPL)为正在开发的项目添加新功能并缩短上市时间已成为社区中流行的方式。然而,鉴于可供使用的 TPL 数量巨大,开发人员如何有效且高效地识别最合适的 TPL 是一项挑战。为了解决这个障碍,我们提出了一种名为 PyRec 的创新方法,向开发人员的项目推荐可能有用的 TPL。 PyRec 以 Python 项目开发为用例,将 Python 项目、TPL、上下文信息以及这些实体之间的关系嵌入到知识图中。然后,它采用图神经网络从图中捕获有用信息以提出 TPL 推荐。与现有方法不同,PyRec 不仅可以充分利用项目与库交互信息,还可以充分利用上下文信息来做出更准确的 TPL 推荐。综合评估基于 12,421 个 Python 项目,涉及 963 个 TPL、9,675 个额外实体、121,474 条库使用记录和 73,277 条上下文记录。与五种代表性方法相比,PyRec 在所有情况下都显着提高了推荐性能。
更新日期:2024-04-24
down
wechat
bug