Req2Lib: A Semantic Neural Model for Software Library Recommendation

05/24/2020
by   Zhensu Sun, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/27/2019

Import2vec - Learning Embeddings for Software Libraries

We consider the problem of developing suitable learning representations ...
research
02/25/2020

An Empirical Study of Usages, Updates and Risks of Third-Party Libraries in Java Projects

Third-party libraries are a central building block to develop software s...
research
06/07/2019

Learning to Recommend Third-Party Library Migration Opportunities at the API Level

The manual migration between different third-party libraries represents ...
research
02/08/2022

SPIDER: Specification-based Integration Defect Revealer

Modern software design practice implies widespread use in the developmen...
research
09/26/2022

Too Many Options: A Survey of ABE Libraries for Developers

Attribute-based encryption (ABE) comprises a set of one-to-many encrypti...
research
02/22/2022

XtraLibD: Detecting Irrelevant Third-Party libraries in Java and Python Applications

Software development comprises the use of multiple Third-Party Libraries...
research
01/20/2022

Providing Upgrade Plans for Third-party Libraries: A Recommender System using Migration Graphs

During the development of a software project, developers often need to u...

Please sign up or login with your details

Forgot password? Click here to reset