PICASO: Enhancing API Recommendations with Relevant Stack Overflow Posts

03/22/2023
by   Ivana Clairine Irsan, et al.
0

While having options could be liberating, too many options could lead to the sub-optimal solution being chosen. This is not an exception in the software engineering domain. Nowadays, API has become imperative in making software developers' life easier. APIs help developers implement a function faster and more efficiently. However, given the large number of open-source libraries to choose from, choosing the right APIs is not a simple task. Previous studies on API recommendation leverage natural language (query) to identify which API would be suitable for the given task. However, these studies only consider one source of input, i.e., GitHub or Stack Overflow, independently. There are no existing approaches that utilize Stack Overflow to help generate better API sequence recommendations from queries obtained from GitHub. Therefore, in this study, we aim to provide a framework that could improve the result of the API sequence recommendation by leveraging information from Stack Overflow. In this work, we propose PICASO, which leverages a bi-encoder to do contrastive learning and a cross-encoder to build a classification model in order to find a semantically similar Stack Overflow post given an annotation (i.e., code comment). Subsequently, PICASO then uses the Stack Overflow's title as a query expansion. PICASO then uses the extended queries to fine-tune a CodeBERT, resulting in an API sequence generation model. Based on our experiments, we found that incorporating the Stack Overflow information into CodeBERT would improve the performance of API sequence generation's BLEU-4 score by 10.8

READ FULL TEXT
research
07/09/2018

RACK: Automatic API Recommendation using Crowdsourced Knowledge

Traditional code search engines often do not perform well with natural l...
research
04/27/2023

Answering Uncertain, Under-Specified API Queries Assisted by Knowledge-Aware Human-AI Dialogue

Developers' API needs should be more pragmatic, such as seeking suggesti...
research
12/23/2021

Revisiting, Benchmarking and Exploring API Recommendation: How Far Are We?

Application Programming Interfaces (APIs), which encapsulate the impleme...
research
07/31/2023

Contrastive Learning for API Aspect Analysis

We present a novel approach - CLAA - for API aspect detection in API rev...
research
05/27/2016

Deep API Learning

Developers often wonder how to implement a certain functionality (e.g., ...
research
05/03/2022

Deep API Learning Revisited

Understanding the correct API usage sequences is one of the most importa...
research
07/09/2018

QUICKAR: Automatic Query Reformulation for Concept Location using Crowdsourced Knowledge

During maintenance, software developers deal with numerous change reques...

Please sign up or login with your details

Forgot password? Click here to reset