Req2Lib: A Semantic Neural Model for Software Library Recommendation
  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.
