توصیه API برای توسعه ویژگی های برنامه اندروید براساس دانش استخراج شده از فروشگاه های برنامه
ترجمه نشده

توصیه API برای توسعه ویژگی های برنامه اندروید براساس دانش استخراج شده از فروشگاه های برنامه

عنوان فارسی مقاله: توصیه API برای توسعه ویژگی های برنامه اندروید براساس دانش استخراج شده از فروشگاه های برنامه
عنوان انگلیسی مقاله: API recommendation for the development of Android App features based on the knowledge mined from App stores
مجله/کنفرانس: علم برنامه نویسی کامپیوتر - Science of Computer Programming
رشته های تحصیلی مرتبط: مهندسی کامپیوتر
گرایش های تحصیلی مرتبط: مهندسی الگوریتم ها و محاسبات، مهندسی نرم افزار
کلمات کلیدی فارسی: توصیه API ، اپ استور کاوی، تجزیه و تحلیل رابط کاربر، دانش قابل استفاده مجدد، استخراج ویژگی
کلمات کلیدی انگلیسی: API recommendation - App store mining - UI analysis - Reusable knowledge - Feature extraction
نوع نگارش مقاله: مقاله پژوهشی (Research Article)
شناسه دیجیتال (DOI): https://doi.org/10.1016/j.scico.2020.102556
دانشگاه: College of Computer Science and Technology, Jilin University, China
صفحات مقاله انگلیسی: 18
ناشر: الزویر - Elsevier
نوع ارائه مقاله: ژورنال
نوع مقاله: ISI
سال انتشار مقاله: 2021
ایمپکت فاکتور: 1.738 در سال 2020
شاخص H_index: 62 در سال 2021
شاخص SJR: 0.366 در سال 2020
شناسه ISSN: 0167-6423
شاخص Quartile (چارک): Q3 در سال 2020
فرمت مقاله انگلیسی: PDF
وضعیت ترجمه: ترجمه نشده است
قیمت مقاله انگلیسی: رایگان
آیا این مقاله بیس است: خیر
آیا این مقاله مدل مفهومی دارد: ندارد
آیا این مقاله پرسشنامه دارد: ندارد
آیا این مقاله متغیر دارد: ندارد
کد محصول: E15286
رفرنس: دارای رفرنس در داخل متن و انتهای مقاله
فهرست مطالب (ترجمه)

نکات برجسته

خلاصه

کلید واژه ها

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.