论文标题

REQ2LIB:软件库的语义神经模型建议

Req2Lib: A Semantic Neural Model for Software Library Recommendation

论文作者

Sun, Zhensu, Liu, Yan, Cheng, Ziming, Yang, Chen, Che, Pengyu

论文摘要

第三方图书馆对于软件项目的开发至关重要。为了获得合适的库,开发人员需要通过过滤,评估和比较来搜索数百万库。大量图书馆为程序员找到合适的库。为了帮助开发人员,研究人员提出了自动化方法,以根据图书馆使用模式推荐库。但是,这些先前的研究无法足够匹配用户的要求,并且遇到了寒冷的问题。在这项工作中,我们想根据要求描述提出建议,以避免这些问题。为此,我们提出了一种称为req2lib的新型神经方法,该方法建议库给出对项目要求的描述。我们使用序列到序列模型来学习自然语言的链接链接 - 使用信息和要求描述的语义信息。此外,我们将特定于域的预训练Word2VEC模型应用于单词嵌入,该模型是通过堆栈溢出帖子对文本语料库进行训练的。在实验中,我们使用来自5,625个Java项目的数据训练和评估模型。我们的初步评估表明,Req2lib可以准确推荐库。

Third-party libraries are crucial to the development of software projects. To get suitable libraries, developers need to search through millions of libraries by filtering, evaluating, and comparing. The vast number of libraries places a barrier for programmers to locate appropriate ones. To help developers, researchers have proposed automated approaches to recommend libraries based on library usage pattern. However, these prior studies can not sufficiently match user requirements and suffer from cold-start problem. In this work, we would like to make recommendations based on requirement descriptions to avoid these problems. To this end, we propose a novel neural approach called Req2Lib which recommends libraries given descriptions of the project requirement. We use a Sequence-to-Sequence model to learn the library linked-usage information and semantic information of requirement descriptions in natural language. Besides, we apply a domain-specific pre-trained word2vec model for word embedding, which is trained over textual corpus from Stack Overflow posts. In the experiment, we train and evaluate the model with data from 5,625 java projects. Our preliminary evaluation demonstrates that Req2Lib can recommend libraries accurately.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源