Visible to the public Deep API Learning

TitleDeep API Learning
Publication TypeConference Paper
Year of Publication2016
AuthorsGu, Xiaodong, Zhang, Hongyu, Zhang, Dongmei, Kim, Sunghun
Conference NameProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
Date PublishedNovember 2016
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4218-6
KeywordsAPI, API usage, APIs, applications programming interfaces, code search, compositionality, Deep Learning, pubcrawl, Resiliency, RNN
Abstract

Developers often wonder how to implement a certain functionality (e.g., how to parse XML files) using APIs. Obtaining an API usage sequence based on an API-related natural language query is very helpful in this regard. Given a query, existing approaches utilize information retrieval models to search for matching API sequences. These approaches treat queries and APIs as bags-of-words and lack a deep understanding of the semantics of the query. We propose DeepAPI, a deep learning based approach to generate API usage sequences for a given natural language query. Instead of a bag-of-words assumption, it learns the sequence of words in a query and the sequence of associated APIs. DeepAPI adapts a neural language model named RNN Encoder-Decoder. It encodes a word sequence (user query) into a fixed-length context vector, and generates an API sequence based on the context vector. We also augment the RNN Encoder-Decoder by considering the importance of individual APIs. We empirically evaluate our approach with more than 7 million annotated code snippets collected from GitHub. The results show that our approach generates largely accurate API sequences and outperforms the related approaches.

URLhttps://dl.acm.org/doi/10.1145/2950290.2950334
DOI10.1145/2950290.2950334
Citation Keygu_deep_2016