Application Programming Interfaces (APIs) are designed to help developers build software more effectively. Recommending the right APIs for specific tasks has gained increasing attention among researchers and developers in recent years. To comprehensively understand this research domain, we have surveyed to analyze API recommendation studies published in the last 10 years. Our study begins with an overview of the structure of API recommendation tools. Subsequently, we systematically analyze prior research and pose four key research questions. For RQ1, we examine the volume of published papers and the venues in which these papers appear within the API recommendation field. In RQ2, we categorize and summarize the prevalent data sources and collection methods employed in API recommendation research. In RQ3, we explore the types of data and common data representations utilized by API recommendation approaches. We also investigate the typical data extraction procedures and collection approaches employed by the existing approaches. RQ4 delves into the modeling techniques employed by API recommendation approaches, encompassing both statistical and deep learning models. Additionally, we compile an overview of the prevalent ranking strategies and evaluation metrics used for assessing API recommendation tools. Drawing from our survey findings, we identify current challenges in API recommendation research that warrant further exploration, along with potential avenues for future research.
翻译:应用程序编程接口(API)旨在帮助开发者更高效地构建软件。为特定任务推荐合适的API近年来受到研究人员和开发者的日益关注。为深入理解这一研究领域,我们通过调研分析了过去十年间发表的API推荐相关研究。本文首先概述API推荐工具的结构,随后系统梳理前人研究,并提出四个关键研究问题。针对RQ1,我们考察了API推荐领域已发表论文的数量及发表载体。在RQ2中,我们分类并总结了API推荐研究中常用的数据源与采集方法。RQ3则探讨了API推荐方法所采用的数据类型及常见数据表示形式,同时分析了现有方法的典型数据提取流程与采集策略。RQ4深入探究了API推荐方法所采用的建模技术,涵盖统计模型与深度学习模型。此外,我们还整合了API推荐工具常用的排名策略与评估指标。根据调研结果,我们识别出当前API推荐研究中亟需进一步探索的挑战,以及未来研究的潜在方向。