arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2102.07508cs.SE
收藏

为支持软件开发推荐API函数调用和代码段

Recommending API Function Calls and Code Snippets to Support Software Development

Phuong T. Nguyen, Juri Di Rocco, Claudio Di Sipio, Davide Di Ruscio, Massimiliano Di Penta

摘要:

在组件、数据源和任务的异质性的引导下,软件开发活动已经达到了高度的复杂性。开放源码软件(OSS)存储库的激增强调了有效重用可用软件工件的必要性。为此,有必要探索从软件存储库中挖掘数据的方法,并利用它来产生有用的建议。我们设计并实现了FOCUS作为一种新颖的方法,为开发人员提供API调用和源代码,而他们正在编程。该系统基于上下文感知协同过滤技术,从开放源码软件项目中提取API使用情况。在这项工作中,我们通过在2,600个移动应用程序的数据集上进行评估,展示了FOCUS对Android编程的适用性。实证评估结果表明,我们的方法优于两个国家的最先进的API挖掘机,UP-Miner和PAM,在预测精度方面。我们还指出,Google Play中定义的应用类别与其API使用之间没有显著关系。最后,我们表明,用户研究的参与者积极感知的API和源代码的FOCUS推荐的相关当前的开发环境。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑