APIRecX: Cross-Library API Recommendation via Pre-Trained Language Model

Yuning Kang, Zan Wang, Hongyu Zhang, Junjie Chen, Hanmo You


Abstract
For programmers, learning the usage of APIs (Application Programming Interfaces) of a software library is important yet difficult. API recommendation tools can help developers use APIs by recommending which APIs to be used next given the APIs that have been written. Traditionally, language models such as N-gram are applied to API recommendation. However, because the software libraries keep changing and new libraries keep emerging, new APIs are common. These new APIs can be seen as OOV (out of vocabulary) words and cannot be handled well by existing API recommendation approaches due to the lack of training data. In this paper, we propose APIRecX, the first cross-library API recommendation approach, which uses BPE to split each API call in each API sequence and pre-trains a GPT based language model. It then recommends APIs by fine-tuning the pre-trained model. APIRecX can migrate the knowledge of existing libraries to a new library, and can recommend APIs that are previously regarded as OOV. We evaluate APIRecX on six libraries and the results confirm its effectiveness by comparing with two typical API recommendation approaches.
Anthology ID:
2021.emnlp-main.275
Volume:
Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing
Month:
November
Year:
2021
Address:
Online and Punta Cana, Dominican Republic
Venue:
EMNLP
SIG:
Publisher:
Association for Computational Linguistics
Note:
Pages:
3425–3436
Language:
URL:
https://aclanthology.org/2021.emnlp-main.275
DOI:
10.18653/v1/2021.emnlp-main.275
Bibkey:
Cite (ACL):
Yuning Kang, Zan Wang, Hongyu Zhang, Junjie Chen, and Hanmo You. 2021. APIRecX: Cross-Library API Recommendation via Pre-Trained Language Model. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pages 3425–3436, Online and Punta Cana, Dominican Republic. Association for Computational Linguistics.
Cite (Informal):
APIRecX: Cross-Library API Recommendation via Pre-Trained Language Model (Kang et al., EMNLP 2021)
Copy Citation:
PDF:
https://aclanthology.org/2021.emnlp-main.275.pdf
Video:
 https://aclanthology.org/2021.emnlp-main.275.mp4