SEFeb 15, 2021

Recommending API Function Calls and Code Snippets to Support Software Development

arXiv:2102.07508v136 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses the need for better code reuse and developer productivity in software engineering, particularly for Android programming, but it is incremental as it builds on existing collaborative filtering techniques.

The paper tackles the problem of efficiently reusing software artifacts in complex development by proposing FOCUS, a system that recommends API function calls and code snippets to developers. It shows that FOCUS outperforms state-of-the-art API recommenders like UP-Miner and PAM in prediction accuracy on a dataset of 2,600 Android apps, with positive user perception in a study.

Software development activity has reached a high degree of complexity, guided by the heterogeneity of the components, data sources, and tasks. The proliferation of open-source software (OSS) repositories has stressed the need to reuse available software artifacts efficiently. To this aim, it is necessary to explore approaches to mine data from software repositories and leverage it to produce helpful recommendations. We designed and implemented FOCUS as a novel approach to provide developers with API calls and source code while they are programming. The system works on the basis of a context-aware collaborative filtering technique to extract API usages from OSS projects. In this work, we show the suitability of FOCUS for Android programming by evaluating it on a dataset of 2,600 mobile apps. The empirical evaluation results show that our approach outperforms two state-of-the-art API recommenders, UP-Miner and PAM, in terms of prediction accuracy. We also point out that there is no significant relationship between the categories for apps defined in Google Play and their API usages. Finally, we show that participants of a user study positively perceive the API and source code recommended by FOCUS as relevant to the current development context.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes