نکات برجسته
خلاصه
کلید واژه ها
1. مقدمه
2. ایجاد نگاشت ها بین ویژگی ها و API ها
3. ساخت سیستم دانش API
4- توصیه API ها بر اساس سیستم دانش
5. آزمایشات و نتایج
6. کارهای مرتبط
7. نتیجه گیری
بیانیه مشارکت نویسندگی CRediT
اعلامیه منافع رقابتی
سپاسگزاریها
منابع
Highlights
Abstract
Keywords
1. Introduction
2. Establishing mappings between features and APIs
3. Constructing the API knowledge system
4. Recommending APIs based on the knowledge system
5. Experiments and results
6. Related work
7. Conclusion
CRediT authorship contribution statement
Declaration of Competing Interest
Acknowledgements
References
Abstract
To improve the efficiency, developers tend to use APIs to avoid reinventing wheels in the development of Apps. However, there are thousands of APIs for various purposes, so it is difficult for developers to identify suitable APIs according to the functionalities to be realized. App stores manage millions of products, which embody the experience and wisdom of developers, and they provide valuable data resource for solving this problem. By summarizing the API usage for the same or similar functionalities in Apps, reusable knowledge can be mined for the API recommendation. In this paper, we utilize the data resource in App stores and provide an API recommendation method for the development of Android Apps. Firstly, by using UI elements as the bridge, we establish mapping relationships between functionalities and APIs. Secondly, we build a framework to describe functionalities of Apps in the same category, and utilize relationships between functionalities and APIs to construct the API knowledge for each node in the framework. Thirdly, we identify nodes according to queried features and show the API knowledge to developers by giving recommendation lists. We conducted experiments based on Google Play, and the result shows that our method has a good recommendation performance.
1. Introduction
In current society, mobile Apps have penetrated into every aspect of people’s lives [1,2]. No matter for simple communication and entertainment, or sensitive activities such as bank transfers and e-business, people tend to do everything at their fingertips. To stay one ahead in the market, App developers need to release their products as soon as possible [3]. APIs (Application Programming Interface) are predefined functions that can be used in the development process, and they prevent developers from reinventing the wheel to improve the development efficiency [4]. However, with the rapid growth of the number of APIs, it is impossible for developers to systematically master the usage of all APIs to get the ones they need when they develop the features/functionalities of Apps.